/* Add here all your CSS customizations */

/* Sblocca il display none nativo di Owl Carousel se l'inizializzazione JS fa i capricci */
.owl-carousel {
    display: block !important;
}

/* Assicura che gli elementi interni si comportino correttamente in linea */
.owl-carousel .owl-stage-outer {
    position: relative;
    overflow: hidden;
}

.owl-carousel .owl-stage {
    position: relative;
    display: flex;
}

.owl-carousel .owl-item {
    float: none !important;
    flex: 0 0 auto;
}

/* Ripristina la classe text-justify rimossa in Bootstrap 5 */
.text-justify {
  text-align: justify !important;
}


.background-overlay {     background-color: #000000; opacity: 0.5; height: 100%; width: 100%; top: 0; left: 0; position: absolute; z-index: 20; }

section.section { padding: 50px 20px; }

h1 { line-height: 1.4; }

h1.tp-caption { text-shadow: 1px 1px 10px #000; }
h2.tp-caption { text-shadow: 1px 1px 10px #000; line-height: 1.5em; }

.tp-caption { text-shadow: 1px 1px 3px #000; }

h1.tp-caption .green, .green { color:#207e2c!important; }

h1.tp-caption .red, .red { color:#ff3333!important; }

h2.tricolor { text-shadow: 1px 1px 5px #000; line-height: 2em; margin-bottom: 0px; }

.section-center h2 { font-size: 30px; }

.border-staff { border: 1px solid #222; }

.red-boca { color: #ff3333; }

.box-lezioni .thumb-info-caption p {
	font-size: 1.1em;
}

.box-lezioni .thumb-info-caption h5 {
	font-size: 1.3em;
	line-height: 26px;
}

.thumb-info-caption p {font-size: 1.1em; line-height: 21px; }

html .divider.divider-primary [class*="fa-"], html .divider.divider-primary .icons {
    color: #ff3333;
}


/* HEADER */
#header .header-logo img { width: 50%; height: 50%; margin-bottom: 0px;}
/*html.sticky-header-active #header .header-body .header-logo img { width: 35%; height: 35%; margin-top: 0px; }*/
html.sticky-header-active #header .header-body .header-logo img.normal-logo { display: none; }
#header .header-body .header-logo img.sticky-logo { display: none; }
html.sticky-header-active #header .header-body .header-logo img.sticky-logo { display: inline-block; width: 32%; height: 32%; }
html.sticky-header-active #header .header-body.bg-color-dark { background-color:rgba(0, 0, 0, 0.8)!important; }

/* LINK MENU HEADER */
#header .header-nav-force-light-text .header-nav-main.header-nav-main-slide nav > ul > li > span > a.active 
{ color: #fff!important; text-transform: uppercase; border-bottom: 2px solid #ff3333; height: auto; }
#header .header-nav.header-nav-force-light-text:not(.header-nav-force-light-text-active-skin-color) .header-nav-main nav > ul:not(:hover) > li .wrapper-items-cloned > a.active
{ color: #fff!important; }
#header .header-nav.header-nav-force-light-text:not(.header-nav-force-light-text-active-skin-color) .header-nav-main nav > ul > li .wrapper-items-cloned:hover > a
{ color: #ff3333!important; }
#header .header-btn-collapse-nav { background: #207e2c; }

/* TAB BOCCA customizzata*/
.tabs.bocca  { border: none!important; }
.tabs.bocca .tab-content { background-color: transparent; padding: 15px 30px; border: none!important; }
.tabs.bocca .nav li.nav-item { background-color: rgba(0,0,0,0.40)!important; text-transform: uppercase; }
.nav-tabs li .nav-link { background-color: rgba(0,0,0,0.40)!important; text-transform: uppercase; }

.tabs.bocca .nav li.nav-item a.nav-link { padding-left: 15px!important; text-shadow: 0px 0px 1px #000!important; font-weight: 600; }


.tabs.bocca .nav-tabs > li .nav-link.active, 
.tabs.bocca .nav-tabs > li.active .nav-link:hover, 
.tabs.bocca .nav-tabs > li.active .nav-link:focus { 
	color: #fff!important; background-color: rgba(32,146,44,0.40)!important; border-left-color: #207e2c!important; border-right-color: #207e2c;
}

.tabs.bocca .nav-tabs > li { margin-bottom: 3px; }
.tabs.bocca .nav-tabs > li:last-child .nav-link { border-bottom: none; }

html body .tabs.tabs-vertical.tabs-left .nav-tabs li .nav-link:hover { border-left-color: #207e2c!important }
.tabs-vertical .nav-tabs { width: 35%; }


/* SEZIONE OVERLAY GRADIENTE BOCA */
section#train-hp:before, section#allenamenti-lezioni:before { background: linear-gradient(135deg, #207e2c 0%, #ff3333 80%); }
section#train-hp p, section#allenamenti-lezioni p { color: #fff; }
section#train-hp, section#allenamenti-lezioni {
  padding: 80px 0;
}

/* 3 box in HP */

.btn-3-box-hp-orari {
	position: relative;
    bottom: 0px;
    z-index: 10;
    left: 0px;
}


.btn-3-box-hp-team {
	position: relative;
    bottom: 80px;
    z-index: 10;
    left: 50px;
}

/* CONTATTI */

.custom-location {
    padding-left: 2rem;
}

/* VIDEO */

#video-hp .custom-small-section-padding, 
.packages.custom-small-section-padding
{
    padding: 10px 45px;
}

#video-hp .owl-carousel.custom-dots-position-1 .owl-dots {
  top: -20px;
  position: relative;
  text-align: center;
  left: auto;
}

.custom-location > i { /*position: absolute;*/ top: 17px; left: 0.5em; font-size:36px; color: #ff3333; }

.custom-overlay-style-1.red { box-shadow: 30px 0px 220px 220px rgba(244, 84, 76, 0.7)!important; }
.custom-overlay-style-1.red::before { box-shadow: 30px 0px 220px 220px rgba(244, 84, 76, 0.7)!important; }
.custom-overlay-style-1.red::after { background: rgba(244, 84, 76, 0.3)!important; }

.custom-list-style-1 li { padding-left:10px; }
.background-grey-lighten { background-color:rgba(249, 249, 249, 0.2); border-bottom: 3px solid #fff; }

.atleti-tmb-hp { background-size: cover!important; }

.lightbox .owl-carousel { border-bottom:3px solid #ff3333; border-top: 3px solid #fff; padding: 10px 0; background-color: #000; }
.border-blue { border-top: 3px solid #4c97d2!important; }

.before-footer-hp [class*="fa-"] { font-size:42px; color: #ff3333; }
.before-footer-hp [class*="fa-check"]  { font-size: 14px; }
.before-footer-hp [class*="fa-whatsapp"]  { font-size: 14px; color: #1c1e21; }

/* FOOTER */
.background-grey-softer { border-bottom: 1px solid rgba(255, 255, 255, 0.3); width: 50%; margin: 1.5em auto; }
footer p span { font-size:21px; font-weight:600; }
.logo-fpi { width: auto; }
footer .social-icons.custom-social-icons li a { display: inline; font-size: 24px; }



/* HP*/
ul.box-bg-black-hp li { text-align: left; }


/* TABELLA ORARI - inizio */

/* 1. La colonna del Giorno (static-day) NON deve subire alcuna logica dinamica, resta sempre neutra e fissa */
.schedule-table .static-day {
    opacity: 1 !important;
    background-color: #212529;
}

/* 2. Quando la tabella è filtrata, le celle orario/corso spente (dynamic-cell) vanno in trasparenza */
.schedule-table.filtered tbody tr.course-row .dynamic-cell {
    opacity: 0.25;
    transition: opacity 0.3s ease;
}

/* 3. Solo le celle orario/corso della riga attiva tornano pienamente visibili e illuminate con lo sfondo dedicato */
.schedule-table.filtered tbody tr.course-row.active-row .dynamic-cell {
    opacity: 1;
}

.schedule-table.filtered tbody tr.course-row.active-row {
    background-color: rgba(40, 167, 69, 0.12) !important;
}

/* 4. Stile del bottone attivo nei tab */
.filter-btn.active {
    background-color: #28a745 !important;
    border-color: #28a745 !important;
    color: #fff !important;
}

.schedule-table .course-row.first {     border-top: 1.5px solid #444 !important; }

/* TABELLA ORARI - fine */

@media (min-width: 992px) {
    .row > .col-custom-5 {
        flex: 0 0 20%;
        max-width: 20%;
    }
}


@media (min-width: 768px) {
	ul.box-bg-black-hp {
		background-color: rgba(0, 0, 0, 0.6);
		padding: 25px!important;
		border: 1px solid #fff;
		text-align: left;
	}
}

@media (max-width: 1024px) {
	.tabs-vertical.bocca .nav-tabs { width: 100%; }
	.tabs-vertical.bocca { display: inline-grid; }
}

@media (max-width: 991px) {
	/*#header .header-body.bg-color-light { background-color: rgba(0, 0, 0, 0.85)!important; }*/
	html:not(.boxed):not(.sticky-header-active) #header.header-floating-bar .header-body .header-nav-main.header-nav-main-mobile-dark nav > ul > li > a { color: #fff; }
	html:not(.boxed):not(.sticky-header-active) #header.header-floating-bar .header-body {
    margin: 0px; }
	#header .header-nav-main.header-nav-main-mobile-dark nav > ul > li > a { color: #fff; }
	#header .header-nav-main.header-nav-main-mobile-dark nav > ul > li > a.active { background: #207e2c; }
}

@media (max-width: 768px) {
	#header .header-logo img { margin-bottom: 0; margin-top: 0px; width: 30%; height: 30%; }
	.header-container { top: 0px; }
	.slider-container .slotholder .tp-bgimg.defaultimg { margin-top: 100px; height: 80%!important; }
	.slider-container.rev_slider_wrapper, .tp-fullwidth-forcer { height: 480px!important; }
	.tp-static-layers { top: 90px; }
	h2 { font-size: 1.8em; }
	.custom-tp-bullets { left: 80% !important; }
	.custom-padding-top-1 { padding-top: 50px !important; }
}

@media (max-width: 428px) {
	html.sticky-header-active #header .header-body .header-logo img {}
	.slider-container.rev_slider_wrapper, .tp-fullwidth-forcer { height: 330px!important; }
	.atleti-tmb-hp { background-position-x: 50%!important; background-size: 150% !important; background-position-y: 50% !important; background-repeat:no-repeat!important; }
	.logo-federkombat { width: 90%; }
	h1 { font-size:1.6em; }
	h4 { font-size:1.4em; }
	.custom-location p { font-size: 21px; padding-top:15px; padding-bottom: 15px; }
}
