@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/all.min.css');

/* red: ec0028 */

:root {
	--fa-style-family: "FontAwesome";
}

a,
a i { -webkit-transition: none;
    -moz-transition: none;
    -o-transition: none;
    -ms-transition: none;
    transition: none !important;
}

.empty-header { display: none !important; }
.container { max-width: 1200px; }
#scroll-top { bottom: 86px; font-size: 12px; border-radius: 0; }
.grecaptcha-badge { z-index: 99999; }

/* logo */
.top-logo:link,
.top-logo:visited { position: relative; }
.top-logo:link img,
.top-logo:visited img { opacity: 0; }
.top-logo:before { content: ''; position: absolute; right: -30px; top: -20px; height: 120px; width: 2000px; background-color: rgba(0,0,0,.7); z-index: 1; }
.top-logo:after { content: ''; position: absolute; top: 0; right: 0; bottom: 0; left: 0; background: url('/custom/sportplatz/img/logo-sportplatz-white.svg') 0 0 no-repeat; background-size: 100% 100%; pointer-events: none; user-select: none; cursor: pointer; z-index: 2; }

/* menu */
#top .top-elements { margin-top: 20px !important; z-index: 3; }
#top .top-elements > li { margin-left: 0; }
#top .top-services > ul > li.lang { margin: 0; }
#top .lang a:link,
#top .lang a:visited { margin: 0; }
#top .top-services > ul > li > a:link i,
.top-services > ul > li > a:visited i { width: 25px !important; margin-right: 0; }

@media screen and (max-width: 1199px) {
    .menu { background-color: #000; }
}

#lang { top: 80px !important; background-color: rgba(0, 0, 0, .7); }
#top .popup { background-color: rgba(0, 0, 0, .7); }

#top .top-services > ul > li > a:link,
#top .top-services > ul > li > a:visited,
#top .top-services > ul > li > a:link i,
#top .top-services > ul > li > a:visited i { font-size: 14px; color: #fff; }

#top .top-services > ul > li > a:hover,
#top .top-services > ul > li > a:hover i { color: #ec0028; }

#top .top-services > ul > li.lang a:link,
#top .top-services > ul > li.lang a:visited { color: #fff; }
#top .top-services > ul > li.lang a:hover { color: #ec0028; }
#top .content-lang { padding: 7px; }
#top .content-lang ul li { border-bottom: rgba(255,255,255,.2) 1px solid; }

#top .top-services > ul > li > a:link,
#top .top-services > ul > li > a:visited { font-family: 'Roboto', 'arial', 'sans-serif'; font-weight: 400; font-size: 14px; }
#top .top-services > ul > li.lang a .current-lang { font-family: 'Roboto', 'arial', 'sans-serif'; font-weight: 400; font-size: 14px; }
#top .top-services > ul > li.lang a .current-lang { padding-left: 38px; }

.scrollon #top .top-elements { margin-top: 20px !important; }

.scrollon .menu > li > a:link,
.scrollon .menu > li > a:visited { padding-top: 15px; padding-bottom: 15px; }

@media screen and (min-width: 1199px) {
    .menu ul { width: 260px; }
}

@media (max-width: 1199px){
	#lang { top: 55px !important; }
}

@media (max-width: 991px){
	#scroll-top,
	.grecaptcha-badge { display: none !important; }
}
/* slideshow */
.slideshow .item .caption.left-caption { width: 100%; padding: 0 90px; text-align: left; }
.slideshow .item .caption.right-caption { width: 100%; padding: 0 90px; text-align: right; }
.slideshow .item .caption p { padding: 0 0 0 13px; line-height: 35px; }
.slideshow .item .caption p span { display: inline-block; padding: 5px 0 0 0; font-size: 20px; font-weight: 300 !important; }
.slideshow .item .caption p span span { color: #ec0028; }
.slideshow .item .caption p span i { font-family: 'Secular One', 'arial', 'sans-serif'; font-size: 35px; font-style: normal; text-transform: uppercase; color: #fff; }

.tpl-1-header .slideshow .item .caption h3, .tpl-1-header .slideshow .item .caption h3 p { font-size: 12vw; line-height: 12vw; }

/* CUSTOM GRAPHICS */
.container-full { max-width: 100%; }
#top,
.scrollon #top { padding-top: 20px; padding-bottom: 20px; background-color: transparent; }
.top-logo,
.scrollon .top-logo { height: 80px !important; }
#top-menu-container { position: relative; /*padding-left: 20px;*/ background-color: rgba(0,0,0,.7); }
#top-menu-container:after { content: ''; position: absolute; left: 100%; top: 0; bottom: 0; width: 2000px; background-color: rgba(0,0,0,.7); }
.scrollon .menu > li > a:link,
.scrollon .menu > li > a:visited { padding-top: 30px; padding-bottom: 30px; }
#top .top-services > ul > li > a:link i,
#top .top-services > ul > li > a:visited i { left: 12px; top: 1px; }

.menu > li > a:link,
.menu li > a:visited { padding-right: 0; padding-left: 20px; font-family: 'Roboto', 'arial', 'sans-serif'; font-weight: 400; font-size: 14px; }

.menu li a.open-sub i { -webkit-transition: all .3s ease-in-out; transition: all .3s ease-in-out; }
.menu li a.open-sub { display: inline-block; padding: 0 5px !important; background-color: transparent !important; border: 0 !important; }
.menu li a.open-sub:hover,
.menu li a.open-sub:hover i { color: #ec0028 !important; background-color: transparent !important; }

/* ultimo sottomenu a destra */
.menu > li:last-child > ul { left: auto; right: 20px !important; }
.menu > li:last-child:hover > ul { left: auto; right: 0 !important; }

@media screen and (min-width: 1200px) {
	.menu > li:hover a,
	.menu > li:hover a i { color: #ec0028 !important; }
	.menu li a.open-sub i { font-size: 10px !important; }
}

@media screen and (max-width: 1199px) {
	#top .top-elements { position: relative; margin: 0 !important; }
	#top .top-elements:before { content: ''; position: absolute; left: -18px; top: -20px; /*width: 86px;*/ width: 500px; height: 75px; background-color: rgba(0,0,0,.7); }
    .top-icon-menu a:link,
    .top-icon-menu a:visited { color: #fff; }

	a.close-menu:link,
	a.close-menu:visited { font-size: 20px; color: #fff; background-color: #000; }
	#menu-container { background-color: #000; }
	#menu-container:before {  }

	.menu > li { border-bottom: 1px rgba(255, 255, 255, .3) solid; }
	.menu > li > a:link,
	.menu li > a:visited { background-color: #000; }
	.menu > li > a:hover,
	.menu > a.active,
	.menu > li:hover > a { color: #ec0028; }
	.menu > li > ul { left: 0; background-color: #333; border-radius: 0 !important; box-shadow: none; }
	.menu > li > ul > li { border-bottom: 1px rgba(255, 255, 255, .3) solid; }

	.menu > li > ul > li a:link,
	.menu > li > ul > li a:visited { padding: 15px 15px 15px 27px; font-size: 14px; color: #fff !important; background-color: #333; }
	.menu li a.open-sub { text-align: center !important; line-height: 64px; }

	.slideshow .item .caption { padding: 0 !important; }
} 

.tpl-1-header,
.tpl-1-header .slideshow,
.tpl-1-header .slideshow .item { height: 850px !important; }
.tpl-1-header .slideshow .item img { object-fit: cover; }
.tpl-1-header .slideshow .item .caption-container:before { content: ''; position: absolute; left: 70px; top: -30px; width: 40px; height: calc(50% + 30px); border: rgba(255,255,255,.2) 10px solid; border-right: 0; border-bottom: 0; }
.tpl-1-header .slideshow .item .caption-container:after { content: ''; position: absolute; left: 70px; bottom: -30px; width: 40px; height: calc(50% + 30px); border: rgba(255,255,255,.2) 10px solid; border-right: 0; border-top: 0; }

.tpl-3-header { margin-bottom: 150px; }

/* footer */
.footer-container { background-color: #000; background-image: url('/custom/sportplatz/img/footer.jpg'); background-size: cover; background-position: bottom; background-repeat: no-repeat; }
.copyright { background-color: #000; }
.footer-container span.titolo-menu-footer { padding-top: 63px; margin-bottom: 16px; }
.footer-container .menu-list li:before { top: 11px; }
.sportplatz-working-hours { padding: 10px; margin: 0 0 10px 0; box-sizing: border-box; background-color: rgba(255,255,255,.1); }

/* btn-box-hp */
.btn-box-hp-container { position: relative; padding-left: 7px; padding-bottom: 3px; padding-right: 7px; padding-top: 10px; z-index: 1; display: inline-block; }
.btn-box-hp-container:before { position: absolute; content: ''; left: -3px; bottom: 0px; width: 44px; height: 44px; z-index: -1; border-left: 2px solid #ec0028; border-bottom: 2px solid #ec0028; -webkit-transition: all 600ms ease; transition: all 600ms ease; }
.btn-box-hp-container:after { position: absolute; content: ''; right: 3px; top: 9px; width: 44px; height: 44px; opacity: 0; z-index: -1; border-right: 2px solid #ec0028; border-top: 2px solid #ec0028; -webkit-transition: all 600ms ease; transition: all 600ms ease; }
a.btn-box-hp:link,
a.btn-box-hp:visited { position: relative; display: inline-block; padding: 12px 30px; font-size: 14px; line-height: 20px; color: #fff; font-weight: 600; text-transform: uppercase; overflow: hidden; background: none; border-radius: 0px; border: 1px solid #ffffff; outline: none !important; -webkit-transition: all .3s ease-out !important; transition: all .3s ease-out !important; }
a.btn-box-hp .btn-txt { position: relative; margin: 0; z-index: 1; }
a.btn-box-hp:before { position: absolute; content: ''; top: 0px; bottom: 0px; left: 0px; right: -50px; border-bottom: 64px solid #fff; border-right: 30px solid transparent; -webkit-transition: all 300ms ease; transition: all 300ms ease; -webkit-transform: translateX(-100%); transform: translateX(-100%); }
a.btn-box-hp:after { position: absolute; content: ''; top: 0px; right: 0px; bottom: 0px; left: -50px; border-left: 30px solid transparent; border-bottom: 64px solid #fff; -webkit-transition: all 300ms ease; transition: all 300ms ease; -webkit-transform: translateX(100%); transform: translateX(100%); }
.btn-box-hp:hover:before { -webkit-transform: translateX(-40%); transform: translateX(-40%); }
.btn-box-hp:hover:after { -webkit-transform: translateX(40%); transform: translateX(40%); }
.btn-box-hp-container:hover:after { opacity: 1; width: calc(100% - 3px); height: calc(100% - 10px); }
.btn-box-hp-container:hover:before { opacity: 0; }
.btn-box-hp-container:hover .btn-box-hp { color: #000; transform: translate(-7px, 10px); }

/* box hp */
.box-hp { overflow-x: hidden; }
.box-hp .container { padding: 0; }
.box-hp .row { display: flex; align-items: stretch; }
.box-hp .col-md-4 { position: relative; padding: 70px 20px 140px 20px; text-align: center; color: #fff; }
.box-hp .col-md-4 h3 { padding: 0; margin-bottom: 15px; font-size: 24px; text-transform: uppercase; }
.box-hp .col-md-4 p { margin-bottom: 30px; }
.box-hp .col-md-4 i { font-size: 60px; line-height: 60px; opacity: .5; }
.box-hp .col-md-4 .blk-txt { height: 100%; }
.box-hp .col-md-4 .btn-box-hp-container { position: absolute; top: 100%; left: 50%; -webkit-transform: translateX(-50%); transform: translateX(-50%); }

.box-hp .col-md-4:nth-of-type(1) { background-color: #222; }
.box-hp .col-md-4:nth-of-type(1):before { content: ''; position: absolute; top: 0; right: 100%; bottom: 0; width: 2000px; background-color: #222; }
.box-hp .col-md-4:nth-of-type(1) h3 { color: #fff; }
.box-hp .col-md-4:nth-of-type(2) { background-color: #eee; }
.box-hp .col-md-4:nth-of-type(2) h3 { color: #ec0028; }
.box-hp .col-md-4:nth-of-type(2) p { color: #222; }
.box-hp .col-md-4:nth-of-type(3) { background-color: #ec0028; }
.box-hp .col-md-4:nth-of-type(3):before { content: ''; position: absolute; top: 0; left: 100%; bottom: 0; width: 2000px; background-color: #ec0028; }
.box-hp .col-md-4:nth-of-type(3) h3 { color: #fff; }

.box-hp .col-md-4:nth-of-type(2) a.btn-box-hp:link,
.box-hp .col-md-4:nth-of-type(2) a.btn-box-hp:visited { color: #222; border-color: #222; }
.box-hp .col-md-4:nth-of-type(2) a.btn-box-hp:before { border-color: #222; }
.box-hp .col-md-4:nth-of-type(2) a.btn-box-hp:after { border-color: #222; }
.box-hp .col-md-4:nth-of-type(2) .btn-box-hp-container:hover .btn-box-hp { color: #fff; }

.box-hp .col-md-4:nth-of-type(3) .btn-box-hp-container:before,
.box-hp .col-md-4:nth-of-type(3) .btn-box-hp-container:after { border-color: #222; }

@media (max-width: 767px){
	.box-hp .row { flex-direction: column; }
	
}

/* vcenter - centratura verticale dei contentuti */
.vcenter .row { display: flex; align-items: center; }
.vcenter .row div[class^="col-"] { display: flex; flex-direction: column; height: 100%; align-items: center; }

/* vbottom - posizionamento in basso del secondo col-md-6 */
.vbottom .row { align-items: flex-end; }

@media (max-width: 991px){
	.vbottom .row { align-items: flex-start; flex-direction: column; }
	.vcenter .row { flex-direction: column; }
	.vcenter .row div[class^="col-"] { flex-wrap: wrap; width: 100%; }
}


/* sportplatz-team */
.sportplatz-team-title { padding: 120px 0 30px 0; text-align: center; background-color: #222; }
.sportplatz-team-title h3,
.sportplatz-team-title p { width: 100%; text-align: center; color: #fff; }

.sportplatz-team { padding: 30px 0 30px 0; background-color: #222; }
.sportplatz-team .blk-img { z-index: 1; }
.blk-img a:before { background-color: rgba(236,0,40, 0.1); }
.blk-img a:after { background-color: rgba(236,0,40, 0.1); }
.blk-img a i { display: none; }

.sportplatz-team .blk-txt { position: absolute; left: 0; bottom: 30px; width: calc(100% - 60px); padding: 30px 15px; box-sizing: border-box; background-color: #fff; z-index: 2; }
.sportplatz-team .blk-txt:before { content: ''; position: absolute; left: -3px; top: 10px; width: 3px; height: calc(100% - 20px); background-color: #ec0028; }
.sportplatz-team .blk-txt p { font-size: 13px; }
.sportplatz-team .blk-txt h3 { padding: 0; font-size: 26px; text-transform: uppercase; }

/* sportplatz team white background */
.sportplatz-team-title.white { background-color: #fff ; }
.sportplatz-team-title.white h3,
.sportplatz-team-title.white p { color: #000; }
.sportplatz-team.white { background-color: #fff; }
.sportplatz-team.white .blk-txt { background-color: #eee; }

/* sportplatz-video */
.sportplatz-video .row,
.sportplatz-video .row div[class^="col-"] { padding: 0; }
.sportplatz-video .blk-txt { padding: 0 100px; box-sizing: border-box; }
.sportplatz-video .blk-cta { padding: 0 100px !important; box-sizing: border-box; }

@media (max-width: 991px){
	.sportplatz-video .blk-txt { padding: 0 20px; }
	.sportplatz-video .blk-cta { margin-bottom: 60px; }
}

.video-box { position: relative; }
.video-box:before { content: ''; position: absolute; left: -90px; bottom: -90px; display: block; width: 100%; height: 100%; background: repeating-linear-gradient(135deg, transparent, transparent 7px, #e6e6e6 7px, #e6e6e6 10px); background-size: 28px 28px; animation: moveStripes 2s linear infinite; }
@keyframes moveStripes {
    from { background-position: 0 0; }
    to { background-position: 28px 0; }
}

@media (max-width: 991px){
	.video-box:before { left: 0; bottom: -30px; }
}

.video-box .video-image { position: relative; display: block; margin: 0; }
.video-box .video-image img { position: relative; width: 100%; height: auto; z-index: 3; }

.video-box .overlay-box { position: absolute; left: 0px; top: 0; width: 100%; height: 100%; text-align: center; overflow: hidden; line-height: 45px; transition: all 0.3s ease; -webkit-transition: all 0.3s ease; }
.video-box .overlay-box:before { position: absolute; content: ''; left: 0; top: 0; right: 0; bottom: 0; z-index: 10; }
.video-box .overlay-box span { position: absolute; width: 110px; height: 110px; left: 50%; top: 50%; z-index: 10; color: #ec0028; font-size: 26px; text-align: center; border-radius: 50%; padding-left: 4px; display: inline-block; margin-top: -55px; margin-left: -55px; line-height: 110px; transition: all 900ms ease; -webkit-transition: all 900ms ease; background-color: #fff; }
.video-box .ripple,
.video-box .ripple:before,
.video-box .ripple:after { position: absolute; top: 50%; left: 50%; width: 110px; height: 110px; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); -webkit-border-radius: 50%; border-radius: 50%; -webkit-box-shadow: 0 0 0 0 rgba(255, 255, 255, .6); box-shadow: 0 0 0 0 rgba(255, 255, 255, .6); -webkit-animation: ripple 3s infinite; animation: ripple 3s infinite; }
.video-box .ripple:before { -webkit-animation-delay: .9s; animation-delay: .9s; content: ''; position: absolute; }
.video-box .ripple:after { -webkit-animation-delay: .6s; animation-delay: .6s; content: ''; position: absolute; }
@keyframes ripple {
    70% { box-shadow: 0 0 0 70px rgba(253, 167, 0, 0); }
    100% { box-shadow: 0 0 0 0 rgba(253, 167, 0, 0); }
}

/* sportplatz-form */
.sportplatz-form .form .col-md-12 { display: flex; }
.sportplatz-form .form .blk-btn { display: inline-block; width: auto; margin: 0 0 0 auto; }

.sportplatz-form .form .blk-btn { position: relative; padding-left: 7px; padding-bottom: 3px; padding-right: 7px; padding-top: 10px; z-index: 1; display: inline-block; }
.sportplatz-form .form .blk-btn:before { position: absolute; content: ''; left: -3px; bottom: -7px; width: 44px; height: 44px; z-index: -1; border-left: 2px solid #ec0028; border-bottom: 2px solid #ec0028; -webkit-transition: all 600ms ease; transition: all 600ms ease; }
.sportplatz-form .form .blk-btn:after { position: absolute; content: ''; right: 3px; top: 9px; width: 44px; height: 44px; opacity: 0; z-index: -1; border-right: 2px solid #ec0028; border-top: 2px solid #ec0028; -webkit-transition: all 600ms ease; transition: all 600ms ease; }
.sportplatz-form .form .blk-btn a.big-btn:link,
.sportplatz-form .form .blk-btn a.big-btn:visited { position: relative; display: inline-block; padding: 12px 30px; font-size: 14px; line-height: 20px; color: #222; font-weight: 600; text-transform: uppercase; overflow: hidden; background: none; border-radius: 0px; border: 1px solid #959595; outline: none !important; -webkit-transition: all .3s ease-out !important; transition: all .3s ease-out !important; }
.sportplatz-form .form .blk-btn a.big-btn:hover { color: #fff !important; border-color: #ec0028; }
.sportplatz-form .form .blk-btn a.big-btn:before { position: absolute; content: ''; top: 0px; bottom: 0px; left: 0px; right: -50px; border-bottom: 64px solid #ec0028; border-right: 30px solid transparent; -webkit-transition: all 300ms ease; transition: all 300ms ease; -webkit-transform: translateX(-100%); transform: translateX(-100%); z-index: -1; }
.sportplatz-form .form .blk-btn a.big-btn:after { position: absolute; content: ''; top: 0px; right: 0px; bottom: 0px; left: -50px; border-left: 30px solid transparent; border-bottom: 64px solid #ec0028; -webkit-transition: all 300ms ease; transition: all 300ms ease; -webkit-transform: translateX(100%); transform: translateX(100%); z-index: -1; }
.sportplatz-form .form .blk-btn a.big-btn:hover:before { -webkit-transform: translateX(-40%); transform: translateX(-40%); }
.sportplatz-form .form .blk-btn a.big-btn:hover:after { -webkit-transform: translateX(40%); transform: translateX(40%); }

.sportplatz-form .form .blk-btn:hover:after { opacity: 1; width: calc(100% - 3px); height: 100%; }
.sportplatz-form .form .blk-btn:hover:before { opacity: 0; }
.sportplatz-form .form .blk-btn:hover .big-btn { transform: translate(-7px, 10px); }

.sportplatz-form .select select { height: 60px; line-height: 50px; }
.sportplatz-form .select__arrow { top: 26px; }

.select select { padding-left: 25px; }

/* internal hero */
.hero { position: relative; top: 0; wisth: 100%; }
.hero img { object-fit: cover; }
.hero .blk-txt { position: absolute; left: 0; top: 50%; transform: tranlateY(-50%); }
.hero .blk-txt h1 { color: #fff; }

/* blk-attachment */
.manifesto .blk-attachment { display: flex; justify-content: center; }
.manifesto .blk-attachment a:link,
.manifesto .blk-attachment a:visited { display: inline-block; padding: 15px 30px; margin: 0 auto; text-align: center; text-transform: uppercase; color: #000; background-color: #fff; border: #000 1px solid; }
.manifesto .blk-attachment a:hover { color: #fff; background-color: #000; }
.manifesto .blk-attachment a .symbol,
.manifesto .blk-attachment a .slide-icon { display: none; }

.modale-container:not(.modale-calendario) { background-color: #333; }
.modale-container:not(.modale-calendario) .modale-content { background-color: #333; }
.modale-container:not(.modale-calendario) .modale-content p a:link,
.modale-container:not(.modale-calendario) .modale-content p a:visited { color: #ec0028; }
.modale-container:not(.modale-calendario) .modale-content p a:hover { color: #fff; }

.modale-container:not(.modale-calendario) .modale-content a.medie-btn:link,
.modale-container:not(.modale-calendario) .modale-content a.medie-btn:visited { color: #fff; background-color: #333; border: #fff 1px solid; border-radius: 0; }
.modale-container:not(.modale-calendario) .modale-content a.medie-btn:hover { color: #333; background-color: #fff; }

/* cta newsletter */
.cta-newsletter { background-color: #ec0028; background: linear-gradient(0deg,rgba(122, 0, 20, 1) 0%, rgba(236, 0, 40, 1) 100%); }
.cta-newsletter .blk-newsletter { padding: 60px 0; }
.cta-newsletter .blk-txt .titolo3,
.cta-newsletter .blk-txt p { color: #fff; }
.cta-newsletter .blk-txt p span strong { font-weight: 400; }
.cta-newsletter .blk-newsletter .control p { color: #fff; }
.cta-newsletter .blk-newsletter .control a:link,
.cta-newsletter .blk-newsletter .control a:visited { color: #fff; text-decoration: underline !important; }
.cta-newsletter .blk-newsletter .blk-txt .titolo3 { font-weight: 400; }

.cta-newsletter .form .blk-btn { position: relative; padding-left: 7px; padding-bottom: 3px; padding-right: 7px; padding-top: 10px; z-index: 1; display: inline-block; }
.cta-newsletter .form .blk-btn:before { position: absolute; content: ''; left: -4px; bottom: -11px; width: 44px; height: 44px; z-index: -1; border-left: 2px solid #222; border-bottom: 2px solid #222; -webkit-transition: all 600ms ease; transition: all 600ms ease; }
.cta-newsletter .form .blk-btn:after { position: absolute; content: ''; right: 3px; top: 0; width: 1px; height: 1px; opacity: 0; z-index: -1; border-right: 2px solid #222; border-top: 2px solid #222; -webkit-transition: all 600ms ease; transition: all 600ms ease; }
.cta-newsletter .form .blk-btn a.big-btn:link,
.cta-newsletter .form .blk-btn a.big-btn:visited { position: relative; display: block; padding: 12px 30px; font-size: 14px; line-height: 20px; color: #fff; font-weight: 600; text-transform: uppercase; text-align: center; overflow: hidden; background: none; border-radius: 0px; border: 1px solid #fff; outline: none !important; -webkit-transition: all .3s ease-out !important; transition: all .3s ease-out !important; }
.cta-newsletter .form .blk-btn a.big-btn:hover { color: #000 !important; border-color: #fff; }
.cta-newsletter .form .blk-btn a.big-btn:before { position: absolute; content: ''; top: 0px; bottom: 0px; left: 0px; right: -50px; border-bottom: 64px solid #fff; border-right: 30px solid transparent; -webkit-transition: all 300ms ease; transition: all 300ms ease; -webkit-transform: translateX(-100%); transform: translateX(-100%); z-index: -1; }
.cta-newsletter .form .blk-btn a.big-btn:after { position: absolute; content: ''; top: 0px; right: 0px; bottom: 0px; left: -50px; border-left: 30px solid transparent; border-bottom: 64px solid #fff; -webkit-transition: all 300ms ease; transition: all 300ms ease; -webkit-transform: translateX(100%); transform: translateX(100%); z-index: -1; }
.cta-newsletter .form .blk-btn a.big-btn:hover:before { -webkit-transform: translateX(-40%); transform: translateX(-40%); }
.cta-newsletter .form .blk-btn a.big-btn:hover:after { -webkit-transform: translateX(40%); transform: translateX(40%); }

.cta-newsletter .form .blk-btn:hover:after { opacity: 1; width: 100%; height: calc(100% + 11px); }
.cta-newsletter .form .blk-btn:hover:before { opacity: 0; }
.cta-newsletter .form .blk-btn:hover .big-btn { transform: translate(-7px, 10px); }

/* glossario */
.glossario-search a:link,
.glossario-search a:visited { padding: 0 20px; font-size: 14px; line-height: 46px; color: #fff; font-weight: 600; text-transform: uppercase; text-align: center; letter-spacing: 0; color: #000; background-color: transparent; border: #222 1px solid; border-radius: 0; overflow: hidden; z-index: 1; }
.glossario-search a:hover { color: #fff; }
.glossario-search a:before { position: absolute; content: ''; top: 0px; bottom: 0px; left: 0px; right: -50px; border-bottom: 64px solid #222; border-right: 30px solid transparent; -webkit-transition: all 300ms ease; transition: all 300ms ease; -webkit-transform: translateX(-100%); transform: translateX(-100%); z-index: -1; }
.glossario-search a:after { position: absolute; content: ''; top: 0px; right: 0px; bottom: 0px; left: -50px; border-left: 30px solid transparent; border-bottom: 64px solid #222; -webkit-transition: all 300ms ease; transition: all 300ms ease; -webkit-transform: translateX(100%); transform: translateX(100%); z-index: -1; }
.glossario-search a:hover:before { -webkit-transform: translateX(-40%); transform: translateX(-40%); }
.glossario-search a:hover:after { -webkit-transform: translateX(40%); transform: translateX(40%); }

/* iniziative */
.elenco-news li { border: #ec0028 2px solid; }
.elenco-news li:hover { border-color: #ec0028; }
.elenco-news li .blk-txt .titolo6 { position: relative; display: inline-block; padding: 12px 30px; font-size: 14px; line-height: 20px; font-weight: 600; text-transform: uppercase; color: #222; background-color: transparent; border: #222 1px solid; border-radius: 0; z-index: 1; overflow: hidden; }
.elenco-news li .blk-txt .titolo6 i { display: none; }
.elenco-news li .blk-txt .titolo6:hover { color: #fff; background-color: transparent; }
.elenco-news li .blk-txt .titolo6:before { position: absolute; content: ''; top: 0px; bottom: 0px; left: 0px; right: -50px; border-bottom: 64px solid #222; border-right: 30px solid transparent; -webkit-transition: all 300ms ease; transition: all 300ms ease; -webkit-transform: translateX(-100%); transform: translateX(-100%); z-index: -1; } 
.elenco-news li .blk-txt .titolo6:after { position: absolute; content: ''; top: 0px; right: 0px; bottom: 0px; left: -50px; border-left: 30px solid transparent; border-bottom: 64px solid #222; -webkit-transition: all 300ms ease; transition: all 300ms ease; -webkit-transform: translateX(100%); transform: translateX(100%); z-index: -1; }
.elenco-news li .blk-txt .titolo6:hover:before { -webkit-transform: translateX(-40%); transform: translateX(-40%); }
.elenco-news li .blk-txt .titolo6:hover:after { -webkit-transform: translateX(40%); transform: translateX(40%); }

/* iniziative - dettaglio */
.container.down-button { margin-top: 60px; margin-bottom: 60px; }

.news-back .blk-btn { position: relative; display: inline-block; width: auto; padding-left: 7px; padding-bottom: 3px; padding-right: 7px; padding-top: 10px; z-index: 1; }
.news-back .blk-btn:before { position: absolute; content: ''; left: -3px; bottom: 0; width: 44px; height: 44px; z-index: -1; border-left: 2px solid #ec0028; border-bottom: 2px solid #ec0028; -webkit-transition: all 600ms ease; transition: all 600ms ease; }
.news-back .blk-btn:after { position: absolute; content: ''; right: 3px; top: 9px; width: 1px; height: 1px; opacity: 0; z-index: -1; border-right: 2px solid #ec0028; border-top: 2px solid #ec0028; -webkit-transition: all 600ms ease; transition: all 600ms ease; }
.news-back .blk-btn a.btn-back:link,
.news-back .blk-btn a.btn-back:visited { position: relative; display: inline-block; margin: 0; padding: 12px 30px; font-size: 14px; line-height: 20px; color: #222; font-weight: 600; text-transform: uppercase; text-align: center; overflow: hidden; background: none; border-radius: 0px; border: 1px solid #222; outline: none !important; }
.news-back .blk-btn a.btn-back:hover { color: #fff !important; border-color: #fff; }
.news-back .blk-btn a.btn-back i { display: none; }
.news-back .blk-btn a.btn-back:before { position: absolute; content: ''; top: 0px; bottom: 0px; left: 0px; right: -50px; border-bottom: 64px solid #222; border-right: 30px solid transparent; -webkit-transition: all 300ms ease; transition: all 300ms ease; -webkit-transform: translateX(-100%); transform: translateX(-100%); z-index: -1; }
.news-back .blk-btn a.btn-back:after { position: absolute; content: ''; top: 0px; right: 0px; bottom: 0px; left: -50px; border-left: 30px solid transparent; border-bottom: 64px solid #222; -webkit-transition: all 300ms ease; transition: all 300ms ease; -webkit-transform: translateX(100%); transform: translateX(100%); z-index: -1; }
.news-back .blk-btn a.btn-back:hover:before { -webkit-transform: translateX(-40%); transform: translateX(-40%); }
.news-back .blk-btn a.btn-back:hover:after { -webkit-transform: translateX(40%); transform: translateX(40%); }
.news-back .blk-btn:hover:after { opacity: 1; width: calc(100% - 4px); height: calc(100% - 11px); }
.news-back .blk-btn:hover:before { opacity: 0; }
.news-back .blk-btn:hover .btn-back { transform: translate(-7px, 10px); }

.share { margin: 0; }
.share  ul { border: 0; }
.share ul li i.fa { color: #ec0028; }
.share ul li i.fa.icon-for-twitter { position: relative; color: transparent; }
.share ul li i.fa.icon-for-twitter:before { background: transparent url('/custom/sportplatz/img/twitter-x-red.png') 0 0 no-repeat; background-size: 20px 20px; -webkit-transition: opacity .3s ease-out; transition: opacity .3s ease-out; }
.share ul li i.fa.icon-for-twitter:after { content: ''; position: absolute; left: 0; top: 5px; width: 20px; height: 20px; opacity: 0; background: transparent url('/custom/sportplatz/img/twitter-x-black.png') 0 0 no-repeat; background-size: 20px 20px; -webkit-transition: opacity .3s ease-out; transition: opacity .3s ease-out; }
.share ul li i.fa.icon-for-twitter:hover:before { opacity: 0; }
.share ul li i.fa.icon-for-twitter:hover:after { opacity: 1; }

/* outdoor */
.box-outdoor { background-color: #222; }
.box-outdoor .container .row { display: flex; flex-wrap: wrap; align-items: stretch; }
.box-outdoor .container .row .col-md-4 { display: flex; flex-wrap: nowrap; align-items: stretch; }
.box-outdoor .container .row .col-md-4 .blk-txt { height: 100%; padding: 20px; box-sizing: border-box; background-color: rgba(255,255,255,.1); }
.box-outdoor .container .row .col-md-4 .blk-txt h4,
.box-outdoor .container .row .col-md-4 .blk-txt p,
.box-outdoor .container .row .col-md-4 .blk-txt ul li { color: #fff; }
.box-outdoor .container .row .col-md-4 .blk-txt ul,
.box-outdoor .container .row .col-md-4 .blk-txt ol { margin: 10px 0 10px 15px; }

/* triangle paragraph */
.triangle-paragraph { display: block; /*padding-top: 120px; padding-top: 48px;*/ padding-top: 0; padding-bottom: 120px; z-index: 1; }
.triangle-paragraph:before { content: ''; position: absolute; left: 0; top: -150px; width: 100%; height: 1400px; background-color: #232625; background-image: url('../custom/sportplatz/img/triangle-paragraph.jpg'); background-position: right top; background-repeat: no-repeat; background-size: auto 70%; clip-path: polygon(0 15%, 100% 0, 100% 58%, 0 77%); z-index: 0; }

.triangle-paragraph.new { padding-bottom: 0; }
.triangle-paragraph.new:before { height: 1075px; background-size: auto 80%; clip-path: polygon(0 15%, 100% 0, 100% 77%, 0 77%) !important; }

.triangle-paragraph .blk-txt { padding-top: 100px; }
.triangle-paragraph .blk-txt h3,
.triangle-paragraph .blk-txt h4,
.triangle-paragraph .blk-txt p { color: #fff; }
.triangle-paragraph .blk-txt ul li,
.triangle-paragraph .blk-txt ol li { color: #fff; }

.triangle-paragraph .form .control p,
.triangle-paragraph .form .control p a:hover { color: #fff; }

@media (max-width: 991px){
	.triangle-paragraph:before,
	.triangle-paragraph.new:before { display: none; }

	.triangle-paragraph,
	.triangle-paragraph.new { background: transparent url('../custom/sportplatz/img/triangle-paragraph.jpg') right top no-repeat; background-size: auto 100%; }
	.triangle-paragraph.gym-assistant { background: transparent url('../custom/sportplatz/img/triangle-paragraph-gym-assistant.jpg') right top no-repeat !important; background-size: auto 100%; }
}

@media (max-width: 767px){
	.triangle-paragraph .form .control p,
	.triangle-paragraph .form .control p a:hover { color: #555; }
}

.triangle-paragraph .form .blk-btn { position: relative; padding-left: 7px; padding-bottom: 3px; padding-right: 7px; padding-top: 10px; z-index: 1; display: inline-block; width: auto; }
.triangle-paragraph .form .blk-btn:before { position: absolute; content: ''; left: -4px; bottom: -11px; width: 44px; height: 44px; z-index: -1; border-left: 2px solid #ec0028; border-bottom: 2px solid #ec0028; -webkit-transition: all 600ms ease; transition: all 600ms ease; }
.triangle-paragraph .form .blk-btn:after { position: absolute; content: ''; right: 3px; top: 9px; width: 44px; height: 44px; opacity: 0; z-index: -1; border-right: 2px solid #ec0028; border-top: 2px solid #ec0028; -webkit-transition: all 600ms ease; transition: all 600ms ease; }
.triangle-paragraph .form .blk-btn:hover:after { opacity: 1; width: 100%; height: 100%; }
.triangle-paragraph .form .blk-btn:hover:before { opacity: 0; }
.triangle-paragraph .form .blk-btn:hover a.big-btn { transform: translate(-10px, 13px); }

.triangle-paragraph .form .blk-btn a.big-btn:link,
.triangle-paragraph .form .blk-btn a.big-btn:visited { position: relative; display: block; padding: 12px 30px; font-size: 14px; line-height: 20px; color: #fff; font-weight: 600; text-transform: uppercase; text-align: center; overflow: hidden; background: none; border-radius: 0px; border: 1px solid #fff; outline: none !important; -webkit-transition: all .3s ease-out !important; transition: all .3s ease-out !important; }
.triangle-paragraph .form .blk-btn a.big-btn:hover { color: #000 !important; }
.triangle-paragraph .form .blk-btn a.big-btn:before { position: absolute; content: ''; top: 0px; bottom: 0px; left: 0px; right: -50px; border-bottom: 64px solid #fff; border-right: 30px solid transparent; -webkit-transition: all 300ms ease; transition: all 300ms ease; -webkit-transform: translateX(-100%); transform: translateX(-100%); z-index: -1; }
.triangle-paragraph .form .blk-btn a.big-btn:after { position: absolute; content: ''; top: 0px; right: 0px; bottom: 0px; left: -50px; border-left: 30px solid transparent; border-bottom: 64px solid #fff; -webkit-transition: all 300ms ease; transition: all 300ms ease; -webkit-transform: translateX(100%); transform: translateX(100%); z-index: -1; }
.triangle-paragraph .form .blk-btn a.big-btn:hover:before { -webkit-transform: translateX(-40%); transform: translateX(-40%); }
.triangle-paragraph .form .blk-btn a.big-btn:hover:after { -webkit-transform: translateX(40%); transform: translateX(40%); }

@media (max-width: 768px){
	/*.triangle-paragraph .form .blk-btn a.big-btn:link,
	.triangle-paragraph .form .blk-btn a.big-btn:visited { color: #222; border-color: #222; }
	.triangle-paragraph .form .blk-btn a.big-btn:before { border-bottom: 64px solid #222; border-right: 30px solid transparent; }
	.triangle-paragraph .form .blk-btn a.big-btn:after { border-bottom: 64px solid #222; }
	.triangle-paragraph .form .blk-btn a.big-btn:hover { color: #fff !important; }*/

	.triangle-paragraph.new:before { top: -80px; height: 980px; }
	.triangle-paragraph.new .form .control p,
	.triangle-paragraph.new .form .control p a:hover { color: #fff; }
}

.triangle-paragraph.gym-assistant:before { background-image: url('../custom/sportplatz/img/triangle-paragraph-gym-assistant.jpg') !important; }

/* sticky paragraph - nutrizionista */
.sticky-paragraph .col-md-4 { position: sticky; top: 140px; }
.sticky-paragraph .col-md-4 .blk-img { border-radius: 10px; overflow: hidden; }
.select__arrow { border-top-color: #ec0028; }

@media (max-width: 991px){
	.sticky-paragraph .col-md-4 { position: relative; top: auto; }
}

/* cta */
.blk-cta { height: auto; overflow: visible; }
.blk-cta .container-cta { position: relative; display: flex; flex-direction: row; max-width: 100%; margin: 0; padding: 0; box-sizing: border-box; width: 100%; top: auto; left: auto; -webkit-transform: none; transform: none; }
.blk-cta .blk-txt { display: none !important; }

.blk-cta .blk-btn { float: none !important; position: relative; display: inline-block !important; width: auto !important; padding: 10px 7px 3px 7px !important; margin: 0 !important; box-sizing: border-box; z-index: 1; }
.blk-cta .blk-btn:before { position: absolute; content: ''; left: -4px; bottom: 0; width: 44px; height: 44px; z-index: -1; border-left: 2px solid #ec0028; border-bottom: 2px solid #ec0028; -webkit-transition: all 600ms ease; transition: all 600ms ease; }
.blk-cta .blk-btn:after { position: absolute; content: ''; right: 3px; top: 9px; width: 44px; height: 44px; opacity: 0; z-index: -1; border-right: 2px solid #ec0028; border-top: 2px solid #ec0028; -webkit-transition: all 600ms ease; transition: all 600ms ease; }

.blk-cta .blk-btn a.btn-cta:link,
.blk-cta .blk-btn a.btn-cta:visited { position: relative !important; top: auto; display: inline-block; padding: 12px 30px; font-size: 14px; line-height: 20px; color: #222; font-weight: 600; text-transform: uppercase; white-space: normal; overflow: hidden; background: none; border-radius: 0px; border: 1px solid #959595; outline: none !important; -webkit-transform: none; transform: none; -webkit-transition: all .3s ease-out !important; transition: all .3s ease-out !important; }
.blk-cta .blk-btn a.btn-cta:hover { color: #fff !important; border-color: #ec0028; }
.blk-cta .blk-btn a.btn-cta:before { position: absolute; content: ''; top: 0px; bottom: 0px; left: 0px; right: -50px; border-bottom: 64px solid #ec0028; border-right: 30px solid transparent; -webkit-transition: all 300ms ease; transition: all 300ms ease; -webkit-transform: translateX(-100%); transform: translateX(-100%); z-index: -1; }
.blk-cta .blk-btn a.btn-cta:after { position: absolute; content: ''; top: 0px; right: 0px; bottom: 0px; left: -50px; border-left: 30px solid transparent; border-bottom: 64px solid #ec0028; -webkit-transition: all 300ms ease; transition: all 300ms ease; -webkit-transform: translateX(100%); transform: translateX(100%); z-index: -1; }
.blk-cta .blk-btn a.btn-cta:hover:before { -webkit-transform: translateX(-40%); transform: translateX(-40%); }
.blk-cta .blk-btn a.btn-cta:hover:after { -webkit-transform: translateX(40%); transform: translateX(40%); }

.blk-cta .blk-btn:hover:after { opacity: 1; width: calc(100% - 3px); height: calc(100% - 10px); }
.blk-cta .blk-btn:hover:before { opacity: 0; }
.blk-cta .blk-btn:hover .btn-cta { border-color: #ec0028 !important; background-color: transparent !important; -webkit-transform: translate(-7px, 10px) !important; transform: translate(-7px, 10px) !important; }

.blk-cta.right-cta .container-cta { justify-content: flex-end; }
.blk-cta.center-cta .container-cta { justify-content: center; }

.blk-cta.center-cta .blk-btn .btn-cta { left: 0; }

/* abbonamenti */
.abbonamenti .col-md-4 .blk-txt { border-radius: 10px; overflow: hidden; position: relative; padding: 20px; margin: 0; background: #030303 url('../custom/sportplatz/img/abbonamenti.jpg') 0 0 no-repeat; background-size: 100% auto; }
.abbonamenti .col-md-4 .blk-txt:before { content: ''; position: absolute; left: 0px; top: 0px; right: 0px; bottom: 0px; background-color: rgba(34, 34, 34, 0.85); transition: all 500ms ease; -webkit-transition: all 500ms ease; }

.abbonamenti .col-md-4 .blk-txt h1 { position: relative; color: #fff; }
.abbonamenti .col-md-4 .blk-txt h4 { position: relative; font-size: 50px; line-height: 54px; color: #ec0028; }
.abbonamenti .col-md-4 .blk-txt h4 span { font-size: 20px; color: #fff; }
.abbonamenti .col-md-4 .blk-txt p { position: relative; color: #fff; }
.abbonamenti .col-md-4 .blk-txt ul { position: relative; margin: 5px 0 5px 15px; color: #fff; }

.abbonamenti.over-60 .col-md-4 .blk-txt { background: url('../custom/sportplatz/img/abbonamenti-over-60.jpg') 0 0 no-repeat; }
.abbonamenti.over-60 .col-md-8 .blk-txt:nth-of-type(2) { padding: 30px; box-sizing: border-box; background-color: #f5f5f5; border-radius: 10px; }

@media (max-width: 991px){
	.abbonamenti .col-md-4 .blk-txt { margin: 20px 0 30px 0; }
}

/* cta virtual tour */
.cta-virtual-tour { position: relative; display: block; padding: 130px 0 100px 0; background: transparent url('/custom/sportplatz/img/bg-cta-virtual-tour.jpg') 50% 50% no-repeat; background-size: cover; }
.cta-virtual-tour:after { content: ''; position: absolute; left: 0; bottom: 0; width: 100%; height: 50%; background: linear-gradient(0deg,rgba(236, 0, 40, 1) 0%, rgba(236, 0, 40, 0) 100%); }
.cta-virtual-tour .col-md-6 { text-align: center; }
.cta-virtual-tour .img-360 { width: 200px; height: auto; margin: 0 auto 15px auto; }
.cta-virtual-tour .blk-cta .blk-btn a.btn-cta:link,
.cta-virtual-tour .blk-cta .blk-btn a.btn-cta:visited { color: #fff; border: 1px solid #fff; -webkit-transition: all .3s ease-out !important; transition: all .3s ease-out !important; }
.cta-virtual-tour .blk-cta .blk-btn:before { bottom: 1px; }

/* sportplatz map */
.sportplatz-map iframe { width: 100%; height: 600px; border: none; overflow: hidden; }
.sportplatz-map iframe { width: 100%; height: 100%px; }

/* lavora con noi */
a.btn-openedPosition.medie-btn.candidati:link,
a.btn-openedPosition.medie-btn.candidati:visited { position: relative; display: inline-block; padding: 12px 30px; font-size: 14px; line-height: 20px; color: #222; font-weight: 600; text-transform: uppercase; overflow: hidden; background: none; border-radius: 0px; border: 1px solid #959595; outline: none !important; }
a.btn-openedPosition.medie-btn.candidati:hover { color: #fff !important; border-color: #ec0028; }
a.btn-openedPosition.medie-btn.candidati:before { position: absolute; content: ''; top: 0px; bottom: 0px; left: 0px; right: -50px; border-bottom: 64px solid #ec0028; border-right: 30px solid transparent; -webkit-transition: all 300ms ease; transition: all 300ms ease; -webkit-transform: translateX(-100%); transform: translateX(-100%); z-index: -1; }
a.btn-openedPosition.medie-btn.candidati:after { position: absolute; content: ''; top: 0px; right: 0px; bottom: 0px; left: -50px; border-left: 30px solid transparent; border-bottom: 64px solid #ec0028; -webkit-transition: all 300ms ease; transition: all 300ms ease; -webkit-transform: translateX(100%); transform: translateX(100%); z-index: -1; }
a.btn-openedPosition.medie-btn.candidati:hover:before { -webkit-transform: translateX(-40%); transform: translateX(-40%); }
a.btn-openedPosition.medie-btn.candidati:hover:after { -webkit-transform: translateX(40%); transform: translateX(40%); }

.form .input-btn { height: 60px; background-color: #ec0028; }
.select select { height: 60px; }
.select__arrow { top: 28px; }

.blk-btn a.simple-btn:link,
.blk-btn a.simple-btn:visited { width: 60px; height: 60px; text-align: center; line-height: 42px; background-color: #ec0028; color: #fff; border-radius: 0; }
.blk-btn a.simple-btn:hover { background-color: #000 !important; color: #fff !important; }

.control--radio .control__indicator:after { background: #ec0028; }

.news-back .blk-btn { padding: 0; margin-bottom: 30px; }
.news-back .blk-btn:before,
.news-back .blk-btn:after { display: none; }
.news-back .blk-btn a.btn-back:link,
.news-back .blk-btn a.btn-back:visited { background-color: transparent !important; }
.news-back .blk-btn a.btn-back:hover { background-color: #000 !important; border-color: #000 !important; }
.news-back .blk-btn:hover a.btn-back { transform: none; }

.form #inviaRichiesta:link,
.form #inviaRichiesta:visited { position: relative; display: inline-block; padding: 12px 30px; margin-bottom: 30px; font-size: 14px; line-height: 20px; color: #222; font-weight: 600; text-transform: uppercase; overflow: hidden; background: none; border-radius: 0px; border: 1px solid #959595; outline: none !important; }
.form #inviaRichiesta:hover { color: #fff !important; border-color: #ec0028; }
.form #inviaRichiesta:before { position: absolute; content: ''; top: 0px; bottom: 0px; left: 0px; right: -50px; border-bottom: 64px solid #ec0028; border-right: 30px solid transparent; -webkit-transition: all 300ms ease; transition: all 300ms ease; -webkit-transform: translateX(-100%); transform: translateX(-100%); z-index: -1; }
.form #inviaRichiesta:after { position: absolute; content: ''; top: 0px; right: 0px; bottom: 0px; left: -50px; border-left: 30px solid transparent; border-bottom: 64px solid #ec0028; -webkit-transition: all 300ms ease; transition: all 300ms ease; -webkit-transform: translateX(100%); transform: translateX(100%); z-index: -1; }
.form #inviaRichiesta:hover:before { -webkit-transform: translateX(-40%); transform: translateX(-40%); }
.form #inviaRichiesta:hover:after { -webkit-transform: translateX(40%); transform: translateX(40%); }

.medie-btn.candidati:link,
.medie-btn.candidati:visited { position: relative; display: inline-block; padding: 12px 30px; margin-bottom: 30px; font-size: 14px; line-height: 20px; color: #fff !important; font-weight: 600; text-transform: uppercase; overflow: hidden; background: #ec0028 !important; border-radius: 0 !important; border: 1px solid #ec0028 !important; outline: none !important; }
.medie-btn.candidati:hover { color: #fff !important; border-color: #000 !important; background-color: transparent !important; }
.medie-btn.candidati:before { position: absolute; content: ''; top: 0px; bottom: 0px; left: 0px; right: -50px; border-bottom: 64px solid #000; border-right: 30px solid transparent; -webkit-transition: all 300ms ease; transition: all 300ms ease; -webkit-transform: translateX(-100%); transform: translateX(-100%); z-index: -1; }
.medie-btn.candidati:after { position: absolute; content: ''; top: 0px; right: 0px; bottom: 0px; left: -50px; border-left: 30px solid transparent; border-bottom: 64px solid #000; -webkit-transition: all 300ms ease; transition: all 300ms ease; -webkit-transform: translateX(100%); transform: translateX(100%); z-index: -1; }
.medie-btn.candidati:hover:before { -webkit-transform: translateX(-40%); transform: translateX(-40%); }
.medie-btn.candidati:hover:after { -webkit-transform: translateX(40%); transform: translateX(40%); }

/* elenco abbonamenti */
.elenco-abbonamenti .highlights { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: left; align-items: stretch; gap: 10px; margin: 0 0 10px 0; }
.elenco-abbonamenti .highlights li { width: calc(33.3333% - 10px); padding: 0; float: none; background-color: #000; }

.highlights.caption-highlights li .highlights-content { padding: 0; }
.highlights li .highlights-content .titolo { left: 0; right: 0; }
.highlights.caption-highlights li .highlights-content a .img-container { opacity: .3; }
.highlights.caption-highlights li .highlights-content .titolo { padding: 0 15px; box-sizing: border-box; text-align: center; font-family: 'Secular One', 'arial', 'sans-serif'; color: #fff; font-size: 30px; line-height: 34px; font-weight: 400; background-color: transparent; }
.highlights.caption-highlights li .highlights-content .txt-container { background-color: rgba(236,0,40,.8); }

@media (max-width: 768px){
	.elenco-abbonamenti .highlights li { width: 100%; }
}

/* download pdf (manifesto del fitness) */
.download-pdf { padding: 60px 0; background: #232323 url('/custom/sportplatz/img/bg-manifesto-del-fitness.jpg') 50% 50% no-repeat; background-size: cover; }
.download-pdf h3,
.download-pdf p { color: #fff !important; }
.download-pdf h4 { color: #ec0028 !important; }

.blk-attachment { position: relative; width: auto; padding-left: 7px; padding-bottom: 3px; padding-right: 7px; padding-top: 10px; z-index: 1; display: inline-block; }
.blk-attachment:before { position: absolute; content: ''; left: -3px; bottom: 0; width: 44px; height: 44px; z-index: -1; border-left: 2px solid #ec0028; border-bottom: 2px solid #ec0028; -webkit-transition: all 600ms ease; transition: all 600ms ease; }
.blk-attachment:after { position: absolute; content: ''; right: 5px; top: 10px; width: 44px; height: 44px; opacity: 0; z-index: -1; border-right: 2px solid #ec0028; border-top: 2px solid #ec0028; -webkit-transition: all 600ms ease; transition: all 600ms ease; }
.blk-attachment a:link,
.blk-attachment a:visited { position: relative; display: inline-block; padding: 12px 30px; font-size: 14px; line-height: 20px; color: #fff; font-weight: 600; text-transform: uppercase; overflow: hidden; background: none; border-radius: 0px; border: 1px solid #959595; outline: none !important; -webkit-transition: all .3s ease-out !important; transition: all .3s ease-out !important; }
.blk-attachment a:hover { color: #fff !important; border-color: #ec0028; }

.blk-attachment a .symbol,
.blk-attachment a .slide-icon { display: none; }

.blk-attachment a:before { position: absolute; content: ''; top: 0px; bottom: 0px; left: 0px; right: -50px; border-bottom: 64px solid #ec0028; border-right: 30px solid transparent; -webkit-transition: all 300ms ease; transition: all 300ms ease; -webkit-transform: translateX(-100%); transform: translateX(-100%); z-index: -1; }
.blk-attachment a:after { position: absolute; content: ''; top: 0px; right: 0px; bottom: 0px; left: -50px; border-left: 30px solid transparent; border-bottom: 64px solid #ec0028; -webkit-transition: all 300ms ease; transition: all 300ms ease; -webkit-transform: translateX(100%); transform: translateX(100%); z-index: -1; }
.blk-attachment a:hover:before { -webkit-transform: translateX(-40%); transform: translateX(-40%); }
.blk-attachment a:hover:after { -webkit-transform: translateX(40%); transform: translateX(40%); }

.blk-attachment:hover:after { opacity: 1; width: calc(100% - 5px); height: calc(100% - 10px); }
.blk-attachment:hover:before { opacity: 0; }
.blk-attachment:hover a { border-color: #ec0028 !important; background-color: transparent !important; -webkit-transform: translate(-7px, 10px) !important; transform: translate(-7px, 10px) !important; }

/* download book (la palestra è una cosa seria) */
.download-book { padding: 60px 0; background: #232323 url('/custom/sportplatz/img/bg-la-palestra-e-una-cosa-seria.jpg') 50% 50% no-repeat; background-size: cover; }
.download-book h3,
.download-book p { color: #fff !important; }
.download-book h4 { color: #ec0028 !important; }

.swal2-popup .swal2-styled.swal2-confirm { background-color: #ec0028; }

/* ticket n. 4183 - landing page */
.landing-header { position: fixed; top: 0; left: 0; display: block; width: 100%; padding: 20px 0; text-align: center; background-color: rgba(0, 0, 0, .7); -webkit-transition: opacity 0.3s linear; transition: opacity 0.3s linear; opacity: 1; z-index: 999; }
.landing-header img { display: block; width: 102px; height: 80px; margin: 0 auto; }
.template-no-menu-footer { display:none; }

@media (max-width: 767px){
	.landing-header { opacity: 0; }
}

.tpl-2-header { margin-bottom: 60px; }

.landing-hero { position: relative; display: block; width: 100%; height: 100vh; background-color: #000; overflow: hidden; }
.landing-pattern-hero { position: absolute; left: 0; top: 0; width: auto; height: 100vh; z-index: 2; }
.landing-pattern-hero img { display: block; wifth: auto; height: 100vh; }

.landing-hero .mouse { position: absolute; left: 50%; bottom: 40px; width: 25px; height: 40px; border: #fff 1px solid; border-radius: 15px; opacity: .7; -webkit-transform: translateX(-50%); transform: translateX(-50%); z-index: 3; }
.landing-hero .mouse:after { content: ''; position: absolute; top: 0; right: 0; bottom: 0; left: 0; margin: auto; background-color: #fff; width: 5px; height: 5px; border-radius: 50%; -webkit-animation: trackBallSlide 1.5s linear infinite; animation: trackBallSlide 1.5s linear infinite; }
@keyframes trackBallSlide {
	0% { opacity: 1; transform: scale(1) translateY(-10px); }
	70% { opacity: 0; transform: scale(.4) translateY(25px); }
	100% { opacity: 0; transform: scale(1) translateY(-10px); }
}
/* bg ken burns effect */
.landing-hero .hero-bg { position: absolute; inset: 0; background: url('/custom/sportplatz/landing01/hero-landing.webp') center/cover no-repeat; transform: scale(1); animation: zoomImage 20s ease-in-out forwards; opacity: .9; z-index: 1; }
@keyframes zoomImage {
  from { transform: scale(1); }
  to   { transform: scale(1.1); }
}

.landing-caption-container { position: absolute; left: 0; top: 0; display: flex; align-items: center; /*align-items: flex-start;*/ width: 100%; height: 100vh; z-index: 3; }
.landing-caption { width: 100%; box-sizing: border-box; padding: 0 80px; /*padding: 140px 80px 0 80px;*/ }
.landing-caption h2 { display: inline-block; padding: 10px 15px; box-sizing: border-box; font-size: 35px; line-height: 45px; color: #ec0028; background-color: rgba(0,0,0,.7);}
.landing-caption h3 { padding: 30px 0; margin: 0; font-size: clamp(30px, 5vw, 70px); line-height: 1.2; color: #fff; }
.landing-caption p { font-size: clamp(20px, 1.4vw, 50px); line-height: clamp(28px, 1.7vw, 50px); /*line-height: 26px;*/ color: #fff; }
.landing-caption .blk-cta { display: inline-block; width: auto; margin: 0 20px 20px 0; }

.landing-caption .blk-cta .blk-btn a.btn-cta:link,
.landing-caption .blk-cta .blk-btn a.btn-cta:visited { color: #fff; background-color: #ec0028; border-color: #ec0028; white-space: normal; }
.landing-caption .blk-cta .blk-btn a.btn-cta:hover { color: #ec0028 !important; border-color: #fff !important; }
.landing-caption .blk-cta .blk-btn a.btn-cta:before { border-bottom: 64px solid #fff; }
.landing-caption .blk-cta .blk-btn a.btn-cta:after { border-bottom: 64px solid #fff; }

.landing-caption .blk-cta:nth-of-type(2) .blk-btn a.btn-cta:link,
.landing-caption .blk-cta:nth-of-type(2) .blk-btn a.btn-cta:visited { background-color: transparent; border-color: #fff; }

@keyframes blink-caret {
    from, to { border-color: rgba(255,255,255,.3); }
    50% { border-color: rgba(255,255,255,1);; }
}
.typewrite > .wrap { 
    border-right: 0.08em solid white;
    animation: blink-caret .75s ease-in-out infinite;
}

@media (min-width: 992px) and (max-width: 1750px){
	.landing-caption h3 { min-height: 230px; }
}

@media(max-width: 991px){
	.landing-caption-container { align-items: center; }
    .landing-caption { width: 100%; box-sizing: border-box; padding: 50px 30px 0 30px; }
    .landing-caption h2 { font-size: 16px; line-height: 25px; }
    .landing-caption h3 { min-height: 135px; font-size: 25px; line-height: 35px; }
    .landing-caption .blk-cta { margin: 0; }
}

@media (max-width: 767px){
	.landing-hero { height: 115vh; }
	.landing-pattern-hero { height: 115vh; }
	.landing-caption-container { height: 115vh; }
	.landing-caption-container { align-items: center; }
}

@media (hover: none) and (pointer: coarse) {
	.landing-hero .mouse { display: none; }
}

.landing-cta { display: block; padding: 90px 0 60px 0; margin: 0 0 60px 0; background-color: #000; background-image: url('/custom/sportplatz/img/footer.jpg'); background-size: cover; background-position: center; background-repeat: no-repeat; }
.landing-cta .blk-txt { color: #fff !important; }
.landing-cta .blk-cta .blk-btn a.btn-cta:link,
.landing-cta .blk-cta .blk-btn a.btn-cta:visited { color: #fff; border-color: #fff; }

.landing-full-image { background-color: #f5f5f5; }
.landing-full-image .row { display: flex; flex-wrap: no-wrap; align-items: stretch; }
.landing-full-image .col-md-6 { position: relative; display: flex; flex-direction: column; height: auto; padding: 0; }
.landing-full-image.image-right .blk-txt { width: 540px; margin: 0 30px 0 auto; padding: 60px 0; box-sizing: border-box; }
.landing-full-image.image-left .blk-txt { width: 540px; margin: 0 auto 0 30px; padding: 60px 0; box-sizing: border-box; }
.landing-full-image .blk-img { position: absolute; left: 0; top: 0; right: 0; bottom: 0; width: 100%; height: 100%; overflow: hidden; z-index: 0; }
.landing-full-image .blk-img picture,
.landing-full-image .blk-img img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }
.landing-full-image .didascalia { display: none; }

@media (max-width: 768px){
	.landing-full-image .row { flex-wrap: wrap; }
	.landing-full-image.image-right .blk-txt,
	.landing-full-image.image-left .blk-txt { width: calc(100% - 30px); padding: 60px 0; margin: 0 15px; }
	.landing-full-image .blk-img { position: relative; }
	.landing-full-image .blk-img picture,
	.landing-full-image .blk-img img { display: block; height: auto; object-fit: none; }
}

.landing-footer { padding: 60px 0; background-color: #000; }
.landing-footer .landing-logo-footer { display: block; width: 70px; height: 55px; margin: 0 auto 30px auto; }
.landing-footer .blk-txt p { font-size: 14px; line-height: 24px; text-align: center; color: #fff; }
.landing-footer .blk-txt a:hover { color: #fff; }

.landing-footer .logo-technogym { margin: 10px auto 0 auto; }

/* chatbot */
.chatbot-open-btn-center:link, .chatbot-open-btn-center:visited { color: #fff; background-color: #ec0028; }
.chatbot .chatbot-title-container .chatbot-title { color: #ec0028; }
.chatbot .chatbot-title-container .close-chatbot:hover,
.chatbot .chatbot-title-container .close-chatbot:hover i { color: #fff; background-color: #ec0028; }
.chatbot .chatbot-title-container .chatbot-full:hover,
.chatbot .chatbot-title-container .chatbot-full:hover i { color: #fff; background-color: #ec0028; }
.chatbot .chatbot-title-container .end-chat:hover { color: #fff; background-color: #ec0028; }
.chatbot-send-btn-container.focus input,
.chatbot-send-btn-container.focus a.chatbot-send-btn { border-color: #ec0028; }
.chatbot-send-btn-container a.chatbot-send-btn:link,
.chatbot-send-btn-container a.chatbot-send-btn:visited { color: #ec0028; background-color: #fff; border: #ec0028 1px solid; border-left: 0; }
.conversation-container .question p { color: #fff; background-color: #ec0028; }
.conversation-container .question:before { color: #ec0028; }
.conversation-container .question p.question-time { color: #ec0028; }

.swal2-popup .swal2-styled.swal2-confirm { background-color: #ec0028 !important; }

.chatbot-open-btn-center:link,
.chatbot-open-btn-center:visited { -webkit-transition: width .3s ease-out !important; transition: width .3s ease-out !important; }

/* ticket n. 4233 - news */
.elenco-news { display: flex; flex-wrap: wrap; gap: 15px; }
.elenco-news li { float: none; width: calc((100% - 30px) / 3); margin: 0; border: 0; }
.elenco-news li .img-container { float: none; width: 100%; padding: 0; margin: 0 0 30px 0; }
.elenco-news li .txt-container { float: none; width: 100%; padding: 0; }
.elenco-news li .img-container .data { position: absolute; left: 0; top: auto; bottom: 0; padding: 7px 15px; font-size: 11px; line-height: 12px; text-align: center; background-color: #222; z-index: 2; }
.elenco-news li .img-container .data strong { font-size: 18px; font-weight: 600; line-height: 18px; }
.elenco-news li .img-container .data span { font-size: 12px; line-height: 24px; font-weight: 600; text-transform: uppercase; }
.elenco-news li .txt-container .fixed-height h3 { font-family: 'Secular One', 'arial', 'sans-serif'; font-size: 22px; line-height: 24px; font-weight: 700; color: #000; margin-bottom: 0; }
.elenco-news li .txt-container .fixed-height { height: 160px; }

@media (max-width: 768px){
	.elenco-news li { float: none; width: 100%; }
}

/* ticket n. 4260 */
.fancybox-container { z-index: 999999991; }
.fancybox-close-small { background-color: #ec0028; border-radius: 10px; }
.fancybox-close-small svg path { fill: #fff; stroke: #fff; }
.fancybox-content { padding: 0; }

/* ticket n. 4322 - menu */
#top .top-elements { position: relative; }
#top .top-elements:before,
.scrollon #top .top-elements:before { content: ''; position: absolute; left: -10px; top: -40px; width: 2000px; height: 120px; background-color: rgba(0, 0, 0, .7); z-index: 0; }

.top-icon-menu a:link,
.top-icon-menu a:visited { color: #fff; }
.top-icon-menu a:hover { color: #ec0028; }

@media screen and (max-width: 1199px) {
    #top { background-color: rgba(0,0,0,.7) !important; }
    .top-logo:before { display: none; }
    #top .top-elements:before,
    .scrollon #top .top-elements:before { display: none; }
    #top .container .row .col-md-12 { display: flex; align-items: center; }
    .top-logo:link,
    .top-logo:visited { float: none; margin: 0 auto 0 0 !important; }
    #top .top-elements { float: none; margin: 0 0 0 auto !important; }
}

/* menu desktop */
@media (min-width: 1200px){
	#top .top-elements > li.top-icon-menu a i { position: relative; display: block; width: 38px; height: 38px; background: transparent url('/custom/sportplatz/img/icon-open-menu.svg') 50% 50% no-repeat; background-size: 60px 60px; z-index: 2; }
	#top .top-elements > li.top-icon-menu a:hover i { background: transparent url('/custom/sportplatz/img/icon-open-menu-hover.svg') 50% 50% no-repeat; background-size: 60px 60px; }
	#top .top-elements > li.top-icon-menu a i:before { display: none; }

	#menu-container { background-color: transparent; -webkit-transition: all .3s ease-in-out; transition: all .3s ease-in-out; z-index: 9999999909; }
	.freeze #menu-container { background-color: rgba(0,0,0,.9); }
	#menu-container:before { content: ''; position: absolute; top: 0; left: calc(-100% - 80px); width: calc(100% + 80px); height: 100%; visibility: hidden; background-color: transparent; -webkit-transition: all .3s ease-in-out; transition: all .3s ease-in-out; }
	.freeze #menu-container:before { visibility: visible; background-color: rgba(0,0,0,.9); }
	#menu-container .menu { width: 500px; margin-left: calc(100% - 500px); padding: 40px 140px 100px 40px; box-sizing: border-box; }
	#menu-container .menu > li { border-bottom: 1px rgba(255,255,255,.3) solid; }

	.menu ul { width: 100%; background-color: transparent; }
	.menu ul a:link,
	.menu ul a:visited { padding: 15px 15px 15px 30px; font-family: 'Roboto', 'arial', 'sans-serif' !important; font-weight: 400 !important; font-size: 14px; color: #fff !important; color: #fff; background-color: transparent; }
	.menu ul a:hover { background-color: rgba(255,255,255,.3) !important; }

	.menu > li > a.open-sub:link,
	.menu li > a.open-sub:visited { padding: 30px 20px 30px 0 !important; text-align: right !important; }

	.top-icon-menu { margin-left: 20px !important; }

	a.close-menu:link,
	a.close-menu:visited { position: absolute; left: auto; right: 40px; top: 40px; display: block; width: 60px; height: 60px; background-color: transparent !important; overflow: hidden !important; }
	a.close-menu i { position: relative; display: block; width: 60px; height: 60px; background: transparent url('/custom/sportplatz/img/icon-close-menu.svg') 0 0 no-repeat; background-size: 60px 60px; z-index: 2; }
	a.close-menu:hover i { background: transparent url('/custom/sportplatz/img/icon-close-menu-hover.svg') 0 0 no-repeat; background-size: 60px 60px; }
	a.close-menu i:before { display: none; }
	a.close-menu:before { content: ''; position: absolute; left: 0; top: 100%; width: 60px; height: 60px; background: linear-gradient(0deg, rgba(235,127,120,1) 0%, rgba(235,35,22,1) 100%); -webkit-transition: top .3s ease-in-out; transition: top .3s ease-in-out; z-index: 1; }
}

@media screen and (min-width: 1199px){
	.menu { background-color: #460a07; }
}

.magazine .blk-video { margin-bottom: 0; }
.magazine .blk-video .video { border-radius: 0; }
.magazine .blk-txt { margin: 0 0 60px 0; }
.magazine .blk-txt h4,
.magazine .blk-txt .titolo4 { padding: 10px 0 0 0; }

.titolomultiselect { display: block; }

/* 4335 */
@media (max-width: 991px){
	.footer-container { padding-right: 0; }
	.footer-container .row .col-xs-12:nth-of-type(1) .container-logo-footer,
	.footer-container .row .col-xs-12:nth-of-type(1) p { text-align: center; }
	.footer-container .row .clear.mob { display: none !important; }
	.footer-container .row .col-xs-12:nth-of-type(2),
	.footer-container .row .col-xs-12:nth-of-type(4) { width: 50% !important; }
	.footer-container .row .col-xs-12:nth-of-type(5) { text-align: center; }
	.footer-container .row .col-xs-12:nth-of-type(5) .titolo-menu-footer,
	.footer-container .row .col-xs-12:nth-of-type(5) .sportplatz-working-hours,
	.footer-container .row .col-xs-12:nth-of-type(5) .titolo-technogym-footer { text-align: center; }
	.footer-container .row .col-xs-12:nth-of-type(5) .logo-technogym { margin: 0 auto 60px auto; }
}


.footer-container span.titolo-technogym-footer { display: block; margin: 41px 0 10px 0; font-family: 'Secular One', 'arial', 'sans-serif'; font-size: 16px; font-weight: 400; line-height: 22px; color: #fff; }
.logo-technogym { display: block; width: auto; height: 40px; background: transparent url('/custom/sportplatz/img/logo-technogym.svg') 0 0 no-repeat; background-size: 100% 100%; }

.equipments .blk-txt { margin: 0 0 60px 0; }
.equipments .blk-txt h4,
.equipments .blk-txt .titolo4 { padding: 10px 0 0 0; }
.equipments-menu .blk-txt ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; list-style: none; padding: 0; margin: 60px 0; }
.equipments-menu .blk-txt ul li { margin: 0; }
.equipments-menu .blk-txt ul li a { position: relative; display: inline-block; padding: 10px 20px 10px 27px; color: #fff; background-color: #ec0028; border-left: #ec0028 3px solid; text-decoration: none; -webkit-transition: all .3s ease !important; transition: all .3s ease !important; }
.equipments-menu .blk-txt ul li a:before { content: ''; position: absolute; left: 0; top: 16px; width: 0px; height: 0px; border-style: solid; border-width: 7.5px 0 7.5px 10px; border-color: transparent transparent transparent #ec0028; transform: rotate(0deg); opacity: 0; }
.equipments-menu .blk-txt ul li a:hover { background-color: #000; }
.equipments-menu .blk-txt ul li a:hover:before { opacity: 1; }

@media (max-width: 1199px){
	.equipments-menu .blk-txt ul li { width: calc(100% - 20px); }
	.equipments-menu .blk-txt ul li a { display: block; }
}

/* cta TechnoGym */
.cta-technogym { display: block; wisth: 100%; padding: 100px 0; background: #040505 url('/custom/sportplatz/img/bg-cta-technogym.jpg') 50% 50% no-repeat; background-size: cover; }
.cta-technogym .blk-txt { padding: 80px; text-align: right; }
.cta-technogym .blk-txt h3 { text-align: right; font-size: 40px !important; line-height: 44px !important; font-weight: 300 !important; color: #fff; text-shadow: 0 0 10px #000; }
.cta-technogym .blk-txt h3 strong { font-weight: 700 !important; }
.cta-technogym .blk-txt p { font-size: 20px; text-align: right; color: #fff; }
.cta-technogym .blk-txt .cta-logo-technogym { display: inline-block; width: auto; height: 60px; margin: 0 0 10px 0; background: transparent url('/custom/sportplatz/img/logo-technogym.svg') 0 0 no-repeat; background-size: 100% 100%; }
.cta-technogym .blk-txt .cta-logo-technogym img { display: inline-block; width: auto; height: 60px; }

.cta-technogym .blk-txt .cta-btn-container { position: relative; padding-left: 7px; padding-bottom: 3px; padding-right: 7px; padding-top: 10px; z-index: 1; display: inline-block; }
.cta-technogym .blk-txt .cta-btn-container:before { position: absolute; content: ''; left: -3px; bottom: 0px; width: 44px; height: 44px; z-index: -1; border-left: 2px solid #ec0028; border-bottom: 2px solid #ec0028; -webkit-transition: all 600ms ease; transition: all 600ms ease; }
.cta-technogym .blk-txt .cta-btn-container:after { position: absolute; content: ''; right: 3px; top: 9px; width: 44px; height: 44px; opacity: 0; z-index: -1; border-right: 2px solid #ec0028; border-top: 2px solid #ec0028; -webkit-transition: all 600ms ease; transition: all 600ms ease; }
.cta-technogym .blk-txt .cta-btn-container a.btn-box:link,
.cta-technogym .blk-txt .cta-btn-container a.btn-box:visited { position: relative; display: inline-block; padding: 12px 30px; font-size: 14px; line-height: 20px; color: #fff; font-weight: 600; text-transform: uppercase; overflow: hidden; background: none; border-radius: 0px; border: 1px solid #ffffff; outline: none !important; -webkit-transition: all .3s ease-out !important; transition: all .3s ease-out !important; }
.cta-technogym .blk-txt .cta-btn-container a.btn-box:before { position: absolute; content: ''; top: 0px; bottom: 0px; left: 0px; right: -50px; border-bottom: 64px solid #fff; border-right: 30px solid transparent; -webkit-transition: all 300ms ease; transition: all 300ms ease; -webkit-transform: translateX(-100%); transform: translateX(-100%); z-index: -1; }
.cta-technogym .blk-txt .cta-btn-container a.btn-box:after { position: absolute; content: ''; top: 0px; right: 0px; bottom: 0px; left: -50px; border-left: 30px solid transparent; border-bottom: 64px solid #fff; -webkit-transition: all 300ms ease; transition: all 300ms ease; -webkit-transform: translateX(100%); transform: translateX(100%); z-index: -1; }
.cta-technogym .blk-txt .cta-btn-container a.btn-box:hover:before { -webkit-transform: translateX(-40%); transform: translateX(-40%); }
.cta-technogym .blk-txt .cta-btn-container a.btn-box:hover:after { -webkit-transform: translateX(40%); transform: translateX(40%); }
.cta-technogym .blk-txt .cta-btn-container:hover:after { opacity: 1; width: calc(100% - 3px); height: calc(100% - 10px); }
.cta-technogym .blk-txt .cta-btn-container:hover:before { opacity: 0; }
.cta-technogym .blk-txt .cta-btn-container:hover a.btn-box { color: #000; transform: translate(-7px, 10px); }

@media (max-width: 768px){
	.cta-technogym .blk-txt,
	.cta-technogym .blk-txt h3,
	.cta-technogym .blk-txt p { text-align: center; }
	.cta-technogym .blk-txt .cta-logo-technogym { margin: 0 auto 10px auto; }
	.cta-technogym .blk-txt { padding: 80px 40px; }
}

@media (max-width: 991px){
	.video-equipments .blk-txt { margin-top: 60px; }
}

/* Ticket n. 4370 */
/* citazione */
.citazione { position: relative; display: block; padding: 170px 0; background-color: #222; }
.citazione:after { content: '\f10d'; position: absolute; top: 90px; left: 50%; font-family: 'FontAwesome'; font-size: 40px; line-height: 40px; color: #fff; -webkit-transform: translateX(-50%); transform: translateX(-50%); }
.citazione:before { content: '\f10e'; position: absolute; bottom: 90px; left: 50%; font-family: 'FontAwesome'; font-size: 40px; line-height: 40px; color: #fff; -webkit-transform: translateX(-50%); transform: translateX(-50%); }
.citazione .blk-txt { font-size: 20px; line-height: 30px; text-align: center; font-style: italic; color: #fff; }
/* cta-app */
.cta-app { display: block; padding: 170px 0; background: #000 url('/custom/sportplatz/img/preview-video-app.jpg') 50% 50% no-repeat; background-size: cover; }
.cta-app .blk-txt h3,
.cta-app .blk-txt p { color: #fff; }

.cta-app .blk-txt .cta-btn-container { position: relative; padding-left: 7px; padding-bottom: 3px; padding-right: 7px; padding-top: 10px; z-index: 1; display: inline-block; }
.cta-app .blk-txt .cta-btn-container:before { position: absolute; content: ''; left: -3px; bottom: 0px; width: 44px; height: 44px; z-index: -1; border-left: 2px solid #ec0028; border-bottom: 2px solid #ec0028; -webkit-transition: all 600ms ease; transition: all 600ms ease; }
.cta-app .blk-txt .cta-btn-container:after { position: absolute; content: ''; right: 3px; top: 9px; width: 44px; height: 44px; opacity: 0; z-index: -1; border-right: 2px solid #ec0028; border-top: 2px solid #ec0028; -webkit-transition: all 600ms ease; transition: all 600ms ease; }
.cta-app .blk-txt .cta-btn-container a.btn-box:link,
.cta-app .blk-txt .cta-btn-container a.btn-box:visited { position: relative; display: inline-block; padding: 12px 30px; font-size: 14px; line-height: 20px; color: #fff; font-weight: 600; text-transform: uppercase; overflow: hidden; background: none; border-radius: 0px; border: 1px solid #ffffff; outline: none !important; -webkit-transition: all .3s ease-out !important; transition: all .3s ease-out !important; }
.cta-app .blk-txt .cta-btn-container a.btn-box:before { position: absolute; content: ''; top: 0px; bottom: 0px; left: 0px; right: -50px; border-bottom: 64px solid #fff; border-right: 30px solid transparent; -webkit-transition: all 300ms ease; transition: all 300ms ease; -webkit-transform: translateX(-100%); transform: translateX(-100%); z-index: -1; }
.cta-app .blk-txt .cta-btn-container a.btn-box:after { position: absolute; content: ''; top: 0px; right: 0px; bottom: 0px; left: -50px; border-left: 30px solid transparent; border-bottom: 64px solid #fff; -webkit-transition: all 300ms ease; transition: all 300ms ease; -webkit-transform: translateX(100%); transform: translateX(100%); z-index: -1; }
.cta-app .blk-txt .cta-btn-container a.btn-box:hover:before { -webkit-transform: translateX(-40%); transform: translateX(-40%); }
.cta-app .blk-txt .cta-btn-container a.btn-box:hover:after { -webkit-transform: translateX(40%); transform: translateX(40%); }
.cta-app .blk-txt .cta-btn-container:hover:after { opacity: 1; width: calc(100% - 3px); height: calc(100% - 10px); }
.cta-app .blk-txt .cta-btn-container:hover:before { opacity: 0; }
.cta-app .blk-txt .cta-btn-container:hover a.btn-box { color: #000; transform: translate(-7px, 10px); }

/* Ticket 4382 */
.caption-btn { position: relative; padding: 15px 40px !important; font-family: 'Roboto', 'arial', 'sans-serif' !important; font-size: 20px !important; line-height: 28px !important; letter-spacing: 1px; color: #fff; background-color: transparent !important; font-weight: 600; text-transform: uppercase; border: #fff 1px solid !important; border-radius: 0 !important; overflow: hidden; -webkit-transition: all .3s ease-out !important; transition: all .3s ease-out !important; }
.caption-btn:hover { color: #000 !important; }
.caption-btn:before { position: absolute; content: ''; top: 0px; bottom: 0px; left: 0px; right: -50px; border-bottom: 64px solid #fff; border-right: 30px solid transparent; -webkit-transition: all 300ms ease; transition: all 300ms ease; -webkit-transform: translateX(-100%); transform: translateX(-100%); z-index: -1; }
.caption-btn:after { position: absolute; content: ''; top: 0px; right: 0px; bottom: 0px; left: -50px; border-left: 30px solid transparent; border-bottom: 64px solid #fff; -webkit-transition: all 300ms ease; transition: all 300ms ease; -webkit-transform: translateX(100%); transform: translateX(100%); z-index: -1; }
.caption-btn:hover:before { -webkit-transform: translateX(-40%); transform: translateX(-40%); }
.caption-btn:hover:after { -webkit-transform: translateX(40%); transform: translateX(40%); }

.landing-download-app { padding: 100px 0 0 0; background-color: #393939; }
.landing-download-app.white-text .blk-txt h3,
.landing-download-app.white-text .blk-txt h4,
.landing-download-app.white-text .blk-txt p,
.landing-download-app.white-text .blk-txt ol li { color: #fff; }

/* box premium */
.box-premium { background-color: #222; }
.box-premium .container .row { display: flex; flex-wrap: wrap; align-items: stretch; }
.box-premium .container .row .col-md-4 { display: flex; flex-wrap: nowrap; align-items: stretch; margin-bottom: 15px; }
.box-premium .container .row .col-md-4 .blk-txt { height: 100%; padding: 20px; box-sizing: border-box; text-align: center; background-color: rgba(255,255,255,.1); }
.box-premium .container .row .col-md-4 .blk-txt i { display: block; width: 80px; height: 80px; margin: 0 auto 30px auto; text-align: center; line-height: 80px; font-size: 30px; color: #ec0028; border: rgba(255,255,255,.3) 1px solid; border-radius: 50%; }
.box-premium .container .row .col-md-4 .blk-txt h4 { margin: 0; padding: 0; line-height: 30px; text-align: center; }
.box-premium .container .row .col-md-4 .blk-txt h4,
.box-premium .container .row .col-md-4 .blk-txt p,
.box-premium .container .row .col-md-4 .blk-txt ul li { color: #fff; }
.box-premium .container .row .col-md-4 .blk-txt ul,
.box-premium .container .row .col-md-4 .blk-txt ol { margin: 10px 0 10px 15px; }

.box-premium .container .row .col-md-3 { display: flex; flex-wrap: nowrap; align-items: stretch; margin-bottom: 15px; }
.box-premium .container .row .col-md-3 .blk-txt { height: 100%; padding: 20px; box-sizing: border-box; text-align: center; background-color: rgba(255,255,255,.1); }
.box-premium .container .row .col-md-3 .blk-txt i { display: block; width: 80px; height: 80px; margin: 0 auto 30px auto; text-align: center; line-height: 80px; font-size: 30px; color: #ec0028; border: rgba(255,255,255,.3) 1px solid; border-radius: 50%; }
.box-premium .container .row .col-md-3 .blk-txt h4 { margin: 0; padding: 0; line-height: 30px; text-align: center; }
.box-premium .container .row .col-md-3 .blk-txt h4,
.box-premium .container .row .col-md-3 .blk-txt p,
.box-premium .container .row .col-md-3 .blk-txt ul li { color: #fff; }
.box-premium .container .row .col-md-3 .blk-txt ul,
.box-premium .container .row .col-md-3 .blk-txt ol { margin: 10px 0 10px 15px; }

@media (max-width: 991px){
	.box-premium .container .row .col-md-4 { width: 100%; }
}

.box-premium .blk-cta .blk-btn a.btn-cta:link,
.box-premium .blk-cta .blk-btn a.btn-cta:visited { color: #fff !important; }
.box-premium .blk-cta .blk-btn a.btn-cta:hover { color: #fff !important; }

/* gallery */
.wcs-gallery { padding-top: 20px; }
.wcs-gallery li a:after,
.wcs-gallery li a:before { background-color: rgba(236, 0, 40, 0.1); }
.wcs-gallery li a i { display: none; }
.wcs-gallery li a .wcs-gallery-image-container img { filter: grayscale(100%); }

.fancybox-thumbs>ul>li:before { border: 4px solid #ec0028; }

/* landing intro cta */
.landing-intro-cta { background-color: transparent; overflow: hidden; }
.landing-intro-cta .container { position: relative; background-color: #222; overflow: visible; z-index: 1; }
.landing-intro-cta .container:before { content: ''; position: absolute; right: 0; top: 0; display: block; width: 3000px; height: 100%; background-color: #222; z-index: 0; pointer-events: none; -webkit-transform: translateZ(0); transform: translateZ(0); } 
.landing-intro-cta .container .row .col-md-12 { position: relative; padding: 80px 0; }
.landing-intro-cta h3 { color: #ec0028; }
.landing-intro-cta h4,
.landing-intro-cta p { color: #fff; }

.landing-intro-cta .blk-cta .blk-btn a.btn-cta:link,
.landing-intro-cta .blk-cta .blk-btn a.btn-cta:visited { color: #fff !important; }
.landing-intro-cta .blk-cta .blk-btn a.btn-cta:hover { color: #fff !important; }

/* testimonial */
.landing-testimonial-title { padding-top: 230px; text-align: right; }
.landing-testimonial-box { padding-top: 20px; padding-bottom: 200px; }
.landing-testimonial-box .row { display: flex; align-items: stretch; }
.landing-testimonial-box .row .col-md-4 { position: relative; display: flex; flex-direction: column; align-items: stretch; }
.landing-testimonial-box .blk-txt { flex: 1; display: flex; flex-direction: column; justify-content: flex-start; padding: 50px 35px 80px 35px; text-align: center; border-radius: 8px; box-shadow: 0px 0px 10px rgba(0,0,0,.12); }
.landing-testimonial-box .blk-txt i { color: #ec0028; }
.landing-testimonial-box .blk-txt .landing-testimonial-stars { display: block; margin: 30px 0; }
.landing-testimonial-box .blk-img { position: absolute; left: 50%; bottom: -70px; width: 130px; height: 130px; -webkit-transform: translateX(-50%); transform: translateX(-50%); border-radius: 50%; overflow: visible; }
.landing-testimonial-box .blk-img:before { content: '\f10e'; position: absolute; left: 50%; bottom: -20px; display: block; width: 40px; height: 40px; font-family: 'FontAwesome'; font-size: 20px; line-height: 40px; text-align: center; color: #fff; background-color: #ec0028; -webkit-transform: translateX(-50%); transform: translateX(-50%); border-radius: 50%; }
.landing-testimonial-box .blk-img img { border-radius: 50%; }

@media (max-width: 991px){
	.landing-testimonial-title { padding-top: 0; text-align: center; }
	.landing-testimonial-box { padding-bottom: 100px; }
	.landing-testimonial-box .row,
	.landing-testimonial-box .row .col-md-4,
	.landing-testimonial-box .blk-txt { display: block; }
	.landing-testimonial-box .blk-txt { margin-bottom: 130px; }
}

/* we free */
.we-free {}
.we-free .row { display: flex; flex-wrap: wrap; align-items: stretch; }
.we-free .row .col-md-8,
.we-free .row .col-md-4 { display: flex; align-items: center; }
.we-free .row .col-md-4 { position: relative; background: transparent url('/custom/sportplatz/img/bg-we-free.jpg') 50% 50% no-repeat; background-size: cover; }
.we-free .row .col-md-4:after { content: ''; display: block; padding-bottom: 100%; }
.we-free-container { position: relative; width: 50%; margin: 0 25%; }
.we-free-container img { display: block; width: 100%; height: auto; margin-top: -30px; animation: float_up_down 5s linear infinite; }
@keyframes float_up_down {
  0% {
    transform: translateY(0px);
    transform: translateY(0px);
    opacity: 1;
  }

  50% {
    transform: translateY(30px);
    transform: translateY(30px);
    opacity: 1;
  }

  100% {
    transform: translateY(0px);
    transform: translateY(0px);
    opacity: 1;
  }
}

/* ticket 4401 */
.box-qrcode .row { display: flex; flex-wrap: wrap; align-items: stretch; overflow: hidden; }
.box-qrcode .row .col-md-6 { position: relative; display: flex; align-items: stretch; margin-bottom: 15px; }
.box-qrcode .row .col-md-6 .blk-txt { padding: 40px; box-sizing: border-box; background-color: #eee; }

.box-qrcode .blk-txt a:link,
.box-qrcode .blk-txt a:visited,
.box-qrcode .blk-txt a:hover { display: block; width: 50%; max-width: 245px; }
.box-qrcode .blk-txt a img { display: block; width: 100%; height: auto; }

.box-qrcode .row .col-md-6:hover h3 { color: #ec0028; }

.icon-app { float: left; width: 80px; height: 80px; margin: 0 20px 0 0; border: #ccc 1px solid; border-radius: 12px; }
.icon-app img { display: block; width: 100%; height: 100%; border-radius: 12px; }

.app-qrcode-container { position: absolute; width: calc(100% + 15px); height: 100%; background-color: #fff; border: #eee 2px solid; -webkit-transition: all .3s ease-out; transition: all .3s ease-out; pointer-events: none; opacity: 0; z-index: 2; }
.app-qrcode-container.android { top: 0; left: calc(100% + 15px); background: #fff url('/custom/sportplatz/img/qr-code-android.png') 50% 50% no-repeat; background-size: contain; }
.app-qrcode-container.android:before { content: ''; position: absolute; left: 0; top: 0; width: 60px; height: 100%; background: #eee; clip-path: polygon(0 0, 100% 50%, 0 100%); }
.app-qrcode-container.android.show { left: -15px; opacity: 1; }

.app-qrcode-container.ios { top: 0; left: calc(-100% - 15px); background: #fff url('/custom/sportplatz/img/qr-code-ios.png') 50% 50% no-repeat; background-size: contain; }
.app-qrcode-container.ios:before { content: ''; position: absolute; right: 0; top: 0; width: 60px; height: 100%; background: #eee; clip-path: polygon(100% 0, 0 50%, 100% 100%); }
.app-qrcode-container.ios.show { left: 0; opacity: 1; }

@media (hover: none),(pointer: coarse) {
	.app-qrcode-container { display: none !important; }
	.box-qrcode .row .col-md-6:hover h3 { color: #000; }
}

@media (max-width: 991px) {
    body { font-size: 16px; font-weight: 400; line-height: 28px; }
}

/* ticket 4480 */
.gymmat-logo-container { display: block; padding: 30px 0; text-align: center; background-color: #eee; }
.gymmat-logo-container img { display: block; width: auto; height: 100px; margin: 0 auto; }

.center-menu { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; list-style: none; padding: 0; margin: 60px 0; }
.center-menu li { margin: 0; }
.center-menu li a { position: relative; display: inline-block; padding: 10px 20px 10px 27px; color: #fff; background-color: #ec0028; border-left: #ec0028 3px solid; text-decoration: none; -webkit-transition: all .3s ease !important; transition: all .3s ease !important; }
.center-menu li a:before { content: ''; position: absolute; left: 0; top: 16px; width: 0px; height: 0px; border-style: solid; border-width: 7.5px 0 7.5px 10px; border-color: transparent transparent transparent #ec0028; transform: rotate(0deg); opacity: 0; }
.center-menu li a:hover { background-color: #000; }
.center-menu li a:hover:before { opacity: 1; }
.center-menu li a.active { background-color: #000; }
.center-menu li a.active:before { opacity: 1; }

.menu-content { display: none; }
.menu-content .abbonamenti { margin-bottom: 30px; padding: 20px !important; box-sizing: border-box; border: #999 1px solid; }
.menu-content .abbonamenti.sticky-paragraph .col-md-4 { top: 20px; }
.menu-content .abbonamenti.sticky-paragraph .col-md-4 .blk-txt,
.menu-content .abbonamenti.sticky-paragraph .col-md-4 .blk-cta { margin: 0 0 30px 0 !important; }

@media (max-width: 1199px){
    .menu-content .abbonamenti.sticky-paragraph .col-md-4 { position: relative; top: 0; }
}





