body {
    opacity: 0;
    transition: opacity 1s ease-in-out;
}


html {scroll-behavior: smooth;}
header.header-section {position: fixed; top: 0; width: 100%; transition: all 0.3s ease-in-out;}
header.header-section.landing-gradient {background: rgb(3,6,20); background: -moz-linear-gradient(0deg, rgba(3,6,20,0) 0%, rgba(3,6,20,0.499124649859944) 50%, rgba(3,6,20,1) 100%); background: -webkit-linear-gradient(0deg, rgba(3,6,20,0) 0%, rgba(3,6,20,0.499124649859944) 50%, rgba(3,6,20,1) 100%);background: linear-gradient(0deg, rgba(3,6,20,0) 0%, rgba(3,6,20,0.499124649859944) 50%, rgba(3,6,20,1) 100%);filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#030614",endColorstr="#030614",GradientType=1);}
header.header-section.scrolled {background: rgb(59,59,59); background: -moz-linear-gradient(90deg, rgba(59,59,59,1) 20%, rgba(33,33,33,1) 90%); background: -webkit-linear-gradient(90deg, rgba(59,59,59,1) 20%, rgba(33,33,33,1) 90%); background: linear-gradient(90deg, rgba(59,59,59,1) 20%, rgba(33,33,33,1) 90%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#3b3b3b",endColorstr="#212121",GradientType=1); padding: 10px 20px; box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.2); z-index: 1021;}
header.header-section.scrolled .nav-link {color: #fff;}
header.header-section.landing-form-style {background: #CC0B0B;}
.nav-link {color: #ffffff; text-transform: inherit; font-weight: 400;}
header.header-section .nav-link, header.header-section.scrolled .nav-link {color: #fff; padding: 10px 8px;}
header.header-section .nav-link.active {background: #fff;}
.it-style {font-style: italic;}
.fontw-light {font-weight: 300;}
.fontw-medium {font-weight: 400;}
p {
    font-size: 14px;
}
.lt-sp {letter-spacing: -0.025em;}
.bottom_header, .border-shape {position: relative; bottom: 50px; left: 0; padding-left: 0;}
.bgshape, .small-bgshape {width: 900px; height: 370px; padding:0px; background-color: rgba(56, 14, 7, 0.8); color: white; text-align: left; clip-path: polygon(0% 0%, 100% 0%, 76% 100%, 0% 100%); display: flex; flex-direction: column; padding-left: 50px;}
.banner-landing .bgshape {background-color: rgba(197, 0, 0, 0.8); clip-path: polygon(0% 0%, 100% 0%, 85% 100%, 0% 100%); width: 850px; min-height: 420px; height: auto;}
.shape-container {width: 450px;}
.highlighted_price {background-color: rgb(57, 0, 0, 0.7); display: block; position: absolute; left: 0; bottom: 0; height: 120px; line-height: 30px; padding-top: 30px; width: 100%; padding-left: 50px;}
.highlighted_price p {color: #fff; font-size: 30px; font-family: 'Montserrat'; margin: 0;}
.highlighted_price p span { font-size: 50px; font-weight: 700; font-style: italic; padding-left: 0px;}
.small-bgshape, .border-shape {max-width: 550px; width: 100%; height: 130px;  background: #D60000; padding: 0;clip-path: polygon(0% 0%, 100% 0%, 86% 100%, 0% 100%);}
#scrollButton .small-bgshape, #scrollButton .border-shape {height: 70px; }
.small-bgshape {display: flex; justify-content: center; align-items: center; align-items: flex-start; padding-left: 60px; position: absolute; top: 0;}
.small-bgshape h5.text-element {max-width: 350px; margin: 0;}
.fixed-scroll-bar .small-bgshape {padding-left: 20px;}
h5.header-subtitle { text-transform: none; font-weight: 400; font-size: 19px; line-height: 26px; max-width: 600px;}
.disclaimer-text {z-index: 1; position: relative;}
span.claim-course {max-width: 600px; padding-top: 20px;}
span.claim-course p {color: #fff; font-family: 'Montserrat'; font-size: 13px; line-height: 18px;}
.highlighted_price strong {color: #FDC706; font-size: 21px;}
.border-shape { left: 30px; background: #FFAA38;  z-index: 0; top: 0;}
.banner-landing .border-shape {left: 30px;}
.section.banner-form {
    border-radius: 50px;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
    overflow: hidden;
    display: block;
    z-index: 1020;
    margin-top: -50px;
    padding: 0;
    height: 500px;
    background-repeat: no-repeat;
    background-position: right top;
}
header.header-section.landing-form-style {
    background: #CC0B0B;
    padding-bottom: 80px;
    padding-top: 15px;
    position: relative;
}
.banner-section {padding-left: 0; padding-top: 70px;}
.ico-flag {width: 100px;}
span.ico-flag img {width: 100%;}
.fw-600 {font-weight: 600 !important;}
.claim-txt { padding: 0px 50px; padding-right: 0;}
.claim-txt p {color: #fff; font-size: inherit; font-style: initial; font-family: 'Montserrat'; margin: 0;}
.header-cta .btn.btn-style {font-weight: 500; font-size: 16px;}
.banner-section.banner-homepage .hp-cont-cta {position: absolute; bottom: 0; width: 100%;}
.banner-section.banner-homepage .header-bg {z-index: 2; height:calc(100vh - 150px)}
.bg-overlay {background: rgb(182,0,0); background: -moz-linear-gradient(0deg, rgba(182,0,0,1) 0%, rgba(182,0,0,0) 55%, rgba(182,0,0,0) 100%); background: -webkit-linear-gradient(0deg, rgba(182,0,0,1) 0%, rgba(182,0,0,0) 55%, rgba(182,0,0,0) 100%); background: linear-gradient(0deg, rgb(27 3 3) 0%, rgba(182, 0, 0, 0) 55%, rgba(182, 0, 0, 0) 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#b60000",endColorstr="#b60000",GradientType=1);}
ul.dropdown-menu.show {border-radius: 6px; overflow: hidden;}
/**/
.cont-partners {
  position: absolute;
  bottom: 0px;
  left: 0;
  height: 50px;
  width: 100%;
}
/**/
.cont-partners div img {width: 90px;}
.btns-landing-cta .btn {
font-size: 15px; font-weight: 500;}
.btns-landing-cta .btn i { font-size: 13px; margin-left: 10px;}
.btns-landing-cta .btn i.fa-brands.fa-whatsapp {font-size: 18px;}
.btns-landing-cta .btn:hover {background: #d60000; border: solid thin #d60000; }
.section.section-certification { background-color: #D60000; background-image: url(../image/pattern-black.svg); background-position: 0 -500px; background-repeat: no-repeat; background-size: cover; position: relative; padding-top: 100px;}
.section-certification .feature-box {padding-bottom: 0 !important;}
.section.section-certification-points {overflow: visible; background-size: 1500px;}
.parallax { background-size: cover; background-position: center top; background-repeat: no-repeat; background-attachment: scroll; background-size: cover; background-position: center; background-repeat: no-repeat; will-change: background-position;}
.section-certification .certification-img img{ max-width: 320px;}
.section-certification .container-shape { position: absolute; top: 0; left: 0;}
.section.section-certification .container-shape .small-bgshape { background: #fff; width: 700px; max-width: 700px; padding: 0; display: flex !important; justify-content: flex-start; align-items: normal; flex-direction: row; padding-top: 22px;}
.section.section-certification .border-shape {max-width: 700px;}
.cont_badge {
  padding: 110px 0px;
  border-bottom: solid 15px #d6d6d6;
}
.cert-block-europe, .cert-block-spain {
  padding-bottom: 40px !important;
}
span.stars-cont img {
  width: 30px;
}
span.stars-cont {
  margin-bottom: 20px;
}
h5.text-valutation { padding-bottom: 40px;}
.cont-google-reviews {padding:40px 0; border-bottom: solid 15px #d6d6d6; background: #fff;}
.cont-cert-logo {padding-top: 0px; padding-left:0px; width: 400px; height: auto;}
img.reward-img {position: relative; top: 0; left: 0; width: 100%;}
.cont-cert-logo img {width: 100% !important;}
.cert-logo-eswa {
  width: 140px;
  margin-right: 30px;
  margin-top: -30px;
}

body {
  overflow-x: hidden !important;
}
.cert-logo-eu {
  width: 350px;
}
.container-shape .small-bgshape .ico-euflag { width: 130px; margin-left: 50px;}
.container-shape .small-bgshape .ico-euflag img { width: 100%;}
.container-shape .small-bgshape .txt-eu p {font-family:'Montserrat', Arial; color: #D60000; font-size: 32px; line-height: 40px; padding-left: 15px;}
.container-shape .small-bgshape .txt-eu p span {font-weight: 700; font-size: 60px; color: #50171A;}
.bgcolor-wrap { background-color: rgb(29 29 29 / 80%);}
span.certificate_items_cont .certificate_item {background: #22000096; border-radius: 50px; line-height: 20px; font-size: 13px;}
.btn-style {font-weight: 600; text-transform: initial;}
.col-step {
  padding: 50px;
}
.step .number img {
  width: 40px;
  margin-bottom: 20px;
}
.step .text h3 {
    color: #F8C806;
    font-size: 25px;
    margin-bottom: 5px;
    font-weight: 500;
    text-transform: none;
}
.container.block-claim {
  color: #fff;
  padding: 70px 0;
  text-align: center;
  background: #3a0909b5;
  max-width: inherit;
}

.block-claim h1 {
  font-size: 30px;
  line-height: 40px;
  text-transform: none;
  font-weight: 600;
  font-style: italic;
  color: #f8c806;
}
.container.block-claim h2 {
  color: #fff;
  font-size: 25px;
  font-weight:700;
}
.container.block-claim h2 strong {
  color: #f7c706;
}
.container.block-claim p {
  font-size: 18px;
  color: #fff;
  font-family: 'Montserrat';
}
.logo-container {
  max-width: 150px;
  width: 100%;
}
.step .text p {color: #fff; font-family: 'Montserrat';}
.text-white * {color: #fff !important;}
a.btn.btn-black-outline, .btn {transition: all 0.3s;}
a.btn.btn-black-outline:hover { background: #453A3A; border: solid thin #453A3A;}
.swiper-pagination-disabled>.swiper-pagination {display: block !important;}
.image-overlay {background: linear-gradient(0deg, rgba(16, 16, 16, 0.4), rgba(16, 16, 16, 0.4));}
.c-white {color: #fff !important;}
.swiper-container {width: 800px; height: 200px;}
.btn-action {background: #D60000; border-radius: 50px; font-weight: 600 !important; line-height: 40px; padding: 0 20px; transition: all 0.3s;}
.btn-action:hover { background: #ffbb00; color: #453a3a !important; }
.swiper-button-next, .swiper-button-prev, .swiper-button-next-2, .swiper-button-prev-2 { background: #d60000; padding: 40px 20px; transition: all 0.3s;}
.swiper-button-next:hover::after, .swiper-button-prev:hover::after, .swiper-button-next-2:hover::after, .swiper-button-prev-2:hover::after { color: #d60000 !important;}
.swiper-button-next:hover, .swiper-button-prev:hover, .swiper-button-next-2:hover, .swiper-button-prev-2:hover {background: #fff;}
.cont-btns .btn-small { font-size: 10px; line-height: 12px;}
.swiper-button-next:after, .swiper-button-prev:after, .swiper-button-next-2:after, .swiper-button-prev-2:after {font-size: 20px; color: #fff !important;}
.cont-btns .btn-small { padding: 10px 10px; background: rgb(255 255 255 / 35%); font-weight: 500 !important; font-size: 12px; line-height: 12px; font-family: 'Montserrat';}
.cont-btns {margin: 10px 0;}
.price-preview h5 { margin: 0; font-size: 35px; color: #FFBB00 !important;}
.monthly-rate-preview {color: #FFBB00 !important;}
span.monthly-rate-preview {font-size: 15px; text-transform: lowercase;}
h4.box-course-title {font-size: 25px;}
span.months-clause {font-size: 13px; line-height: 12px; font-weight: 500;}
.bg-gradient-bottom {background: rgb(0,0,0);
    background: -moz-linear-gradient(180deg, rgba(0,0,0,0) 48%, rgba(167,17,17,1) 83%);
    background: -webkit-linear-gradient(180deg, rgba(0,0,0,0) 48%, rgba(167,17,17,1) 83%);
    background: linear-gradient(180deg, rgba(0,0,0,0) 48%, #3c2622 83%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#000000",endColorstr="#a71111",GradientType=1);}
.swiper-slide .d-flex.position-relative {height: 500px;}
.swiper-teacher .swiper-slide .d-flex.position-relative {height: auto;}
.section.bg-attach-cover.program {padding-top: 50px; padding-bottom: 0;}
.section.bg-attach-cover.program {padding-right: 0;}
.bg-watermark::before {
    content: '';
    background-image: url(../image/pattern-black.svg);
    background-repeat: no-repeat;
    background-position: right -100px;
    background-size: 850px;
    width: 850px;
    height: 800px;
    position: absolute;
    right: 0;
    z-index: -1;
}
.course-text h3 {font-size: 35px;line-height: 40px;}
.section-fitnesswork h1 {font-size: 40px; line-height: 45px; color: #fff;}
.section-fitnesswork p {color: #fff;}
.fitnesswork-bg{
    background-color: #3B3B3B;
    background-image: url(../image/bg-fitnesswork.svg);
    background-position: -150px -150px;
    background-repeat: no-repeat;
    background-size: 900px;
    min-height: 1000px;
}
.join-fitnesswork .logo-img { border-radius: 50px; background: #2D2323; position: absolute; top: -35px; z-index: 1; padding: 10px 40px; left: 50%; transform: translateX(-50%); width: 280px;}
.join-fitnesswork .logo-img img {width: 100%;}
.accent-color-yellow, .border-accent-color {color: #FFC53D !important;}
.border-accent-white {background-color: #ffffff !important;}
.accent-white {color: #fff !important;}
.accent-color-2 {color: #D60000 !important;} 
.join-fitnesswork {background: #2D2323; color: #fff; position: relative; overflow: visible; padding-top: 120px !important;}
.join-fitnesswork p {font-family: 'Montserrat';}
.join-fitnesswork ul, .text-module ul {padding-left: 0px;}
.join-fitnesswork ul li, .text-module ul li {font-size: 14px; padding-bottom:10px; background-image: url(../image/ico-check.svg); background-repeat: no-repeat; background-position: left 6px; background-size: 12px; padding-left: 22px;}
.accordion-button { display: flex; justify-content: center; align-items: center; text-align: center;}
#accordion-fitnesswork .accordion-button {
    justify-content: center;
    align-items: center;
    text-align: center;
    border-radius: 10px !important;
    border: 0;
    margin-bottom: 20px;
    border-radius: 8px;
    overflow: hidden;
    font-weight: 600;
    text-transform: capitalize;
}

.accordion .accordion-button {padding-block: 1.8rem;}
.accordion-block, .bullet-points {max-width: 900px; margin: 0 auto; margin-top: 30px;}
.single-product .fitnesswork-bg {padding-top: 80px;}
.accordion .accordion-body {background-color: initial; font-size: 14px; color: #fff; text-align: left; padding-top: 0; padding-bottom: 50px;}
.accordion .accordion-item {background: initial;}
.container-faq .accordion .accordion-item {margin-bottom: 20px; text-align: left;}
.accordion .accordion-button::after {background-image: url(../image/caret-down.svg); background-position: center center; background-repeat:no-repeat;}
.accordion .accordion-button:not(.collapsed)::after {background-image: url(../image/caret-down.svg);}
.container-faq .accordion .accordion-button::after, .container-faq .accordion .accordion-button:not(.collapsed)::after {background-image:url(../image/caret-down-white.svg);}
.accordion-item .card-body { background: #454d6ad6; padding: 50px 15px 20px; margin-top: -30px; border-radius: 20px; font-size: 15px;}
.fitnessowrk-claim {font-size: 40px; line-height: 45px; white-space: normal;
    word-wrap: break-word;
    overflow-wrap: break-word;
    width: 100%;
    box-sizing: border-box;}
.section.scrolling-text {position: relative;}
.scroll-container {width: 100%; overflow: hidden; white-space: nowrap; position: relative; background-color: #dc0000; padding: 10px 0; display: flex;}
.scroll-text { display: block; font-size: 35px; font-weight: bold; color: #ffffff; animation: scroll 30s linear infinite; min-width: 2612px; text-transform: uppercase;}
.scroll-text.scroll-fitness {min-width: 3197px;}
.scroll-container-fitness {padding-bottom: 90px !important;}
.section.section-curso-modules {background: rgb(65,67,83);
    background: -moz-linear-gradient(0deg, rgba(65,67,83,1) 0%, rgba(86,88,100,1) 100%);
    background: -webkit-linear-gradient(0deg, rgba(65,67,83,1) 0%, rgba(86,88,100,1) 100%);
    background: linear-gradient(0deg, rgba(65,67,83,1) 0%, rgba(86,88,100,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#414353",endColorstr="#565864",GradientType=1); color: #fff; border-radius: 50px; margin-bottom: -50px; margin-top: -50px; position: relative;}
.title-course-modules {font-size: 45px; font-weight: 400; text-transform: none; padding: 30px 0;}
    @keyframes scroll {
    from {
      transform: translateX(0);
    }
    to {
      transform: translateX(-100%);
    }
  }
  .right-0 {right: 0;}
  .cta-overlay {background: rgb(0 0 0 / 50%); z-index: 0;}
  .teacher-home-info {text-align: center; padding: 20px 0;}
  .teacher-home-info h1 {font-size: 25px; text-transform: initial; line-height: 30px; margin: 0;}
  .teacher-home-info p {font-family:'Montserrat', Arial; font-size:18px; color: #D60000;}
  .swiper-teacher {max-width: 1200px; margin: 0 auto; overflow: hidden; position: relative; }
  .swiper-button-next-2, .swiper-button-prev-2 {
    right: var(--swiper-navigation-sides-offset, 10px);
    left: auto;
}
.swiper-button-prev-2, .swiper-button-next-2 {
    left: var(--swiper-navigation-sides-offset, 10px);
    right: auto;
}
.swiper-button-next-2, .swiper-button-prev-2 {
    position: absolute;
    top: var(--swiper-navigation-top-offset, 50%);
    width: calc(var(--swiper-navigation-size) / 44* 27);
    height: var(--swiper-navigation-size);
    margin-top: calc(0px -(var(--swiper-navigation-size) / 2));
    z-index: 10;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--swiper-navigation-color, var(--swiper-theme-color));}
.swiper-button-next-2 {right: 0px !important; z-index: 99999; left: initial;}
.swiper-button-prev-2:after {content: 'prev';}
.swiper-button-next-2:after {content: 'next';}
.swiper-button-next-2:after, .swiper-button-prev-2:after {font-family: swiper-icons; font-size: var(--swiper-navigation-size); text-transform: none !important; letter-spacing: 0; font-variant: initial; line-height: 1; font-size: 25px;}
.swiper-button-next-2, .swiper-button-prev-2 { position: absolute; top: var(--swiper-navigation-top-offset, 50%); width: calc(var(--swiper-navigation-size) / 44* 27); height: var(--swiper-navigation-size); margin-top: calc(0px -(var(--swiper-navigation-size) / 2)); z-index: 10; cursor: pointer; display: flex; align-items: center; justify-content: center; color: var(--swiper-navigation-color, var(--swiper-theme-color)); height: 150px; top: 50%; transform: translate(0%, -100%); left: 0; padding: 25px;}
.swiper-button-next-2 {height: 150px; top: 50%; transform: translate(0%, -100%); right: 0; left: initial;}
footer { padding-top: 30px; background-image: url(../image/pattern-black.svg); background-repeat: no-repeat; background-size: contain; background-position: right top; background-color: #D60000;}
footer .logo-footer { width: 300px; margin: 0 auto;}
footer a.link-wts {padding-left: 30px; line-height: 16px;}
footer a.link-wts i { font-size: 19px; position: absolute; left: 0;}
.d-block {display: block;}
.section-credits {background: #7C0000;}
.internal-link { border-radius:0;font-weight: 700; padding:10px 20px; color:#3f3f3f !important; font-size: 15px;}
.bar_join-btns {bottom: 0;}
.bg-grey {background-color: #47475A;}
.img-flip {transform: scaleX(-1);}
.featured-course-points .box {background: #D60000; color: #fff; width: 240px; height: 140px;}
.side-angle-sx, .side-angle-dx {height: 140px;}
.side-angle-dx img, .side-angle-sx img {height: 100%;}
.featured-course-points .box span {line-height: 17px; padding-top: 10px; text-align: center;}
.featured-course-points .box.box-middle {position: relative; -webkit-box-shadow: 0px 0px 32px -5px rgba(104,42,42,1); -moz-box-shadow: 0px 0px 32px -5px rgba(104,42,42,1); box-shadow: 0px 0px 32px -5px rgba(104,42,42,1); margin-top: -10px; width: 230px; margin-left: -10px; margin-right: -10px; }
.featured-course-points .box.box-middle img {width: 140px; margin: 0 auto;}
.featured-course-points .box.box-end img {width: 150px; margin: 0 auto;}
.inner-page.featured-course-points .box.box-end img {width: 30px;}
.inner-page.featured-course-points .box.box-middle img {width: 50px;}
.inner-page.featured-course-points .box.box-start img {width: 45px; }
.featured-course-points .box.box-start img { width: 120px; margin: 0 auto;}
.featured-bg-line {background: #730809; display: block; height: 75px; width: 100%; position: absolute; bottom: 30px; z-index: -1;}
.featured-course-points {margin-top: 50px; z-index: 1; top: -70px;}
.splide li.splide__slide { background-color: #8488A5; border: none; padding: 10px 20px; border-radius: 10px; width: 300px; min-height: 100px;}
.splide li.splide__slide h3{color: white; font-size: 22px; font-family: 'Montserrat'; font-weight: 400; text-transform: none; margin: 0;}
ul.splide__list li.splide-content.splide__slide {background: none;}
.carousel-text-nav button.active {background-color: #fff; font-weight: bold; color: #030915; font-weight: 400;}
/*--- LOGO'S CAROUSEL---*/
.carousel-partners {
  margin: 0 auto;
  padding: 0;
  overflow: hidden;
  display: flex;
  background: #47475A;
}
/*----*/
.text-cont.bg-yellow {background: #FFD341;}
.text-cont.bg-grey {background: #52526D; color: #fff;}
.text-cont.bg-grey p {color: #fff;}
.text-cont.bg-yellow p {color: #36394F;}
.cert-block h1 { font-weight: 400; text-transform: none; font-size: 40px; line-height: 44px; margin: 0;}
.cert-block .shape-container { width: auto;}
.cert-block-europe {background: #47475A; color: #fff;}
.cert-block-spain {background: #FFC400; color: #36394F;}
.cert-block .small-bgshape { padding: 30px; background: #ffdb44;}
.cert-block.cert-block-europe .small-bgshape {background: #fff;}
.cert-block.cert-block-spain .border-shape {background: #C32525;}
.cert-block .small-bgshape img {width: 300px;}
.text-cont {min-height: 280px;}
.text-cont p{font-family: 'Montserrat';font-size: 13px; line-height: 16px;}
.text-cont h5 { font-weight: 400; font-size: 28px; line-height: 35px; text-transform: none;}
.splide li.splide__slide span {font-size: 12px; display: block;}
.img-module {overflow: hidden; border-radius: 20px;}
.text-module h1{ font-size: 28px; line-height: 33px}
.text-module h2{ font-size: 24px; line-height:29px}
.text-module h3{ font-size: 20px; line-height: 28px}
.text-module h4{ font-size: 18px; line-height: 24px}
.splide--nav>.splide__track>.splide__list>.splide__slide {width: 300px !important; text-align: center;}
.splide--nav>.splide__track>.splide__list>.splide__slide {transition: all 0.3s;}
.splide--nav>.splide__track>.splide__list>.splide__slide.is-active, .splide--nav>.splide__track>.splide__list>.splide__slide.is-active h3 {  color: #030915; font-weight: 400; }
.splide--nav>.splide__track>.splide__list>.splide__slide.is-active {background: #ffffff;}
.splide--nav>.splide__track>.splide__list>.splide__slide.is-active h3 {font-weight: 500;}
.splide__arrows { position: absolute; width: 100%; top: -65px;}
.splide__arrow, .splide__arrow.splide__arrow--next, .splide__arrow.splide__arrow--prev {background-color: #c0c4e0; color: white; cursor: pointer; display: block; height: 100px; border-radius: 0; border-top-right-radius: 10px; border-bottom-right-radius: 10px; opacity: 1; width: 50px;}
.splide__arrow.splide__arrow--next svg, .splide__arrow.splide__arrow--prev svg{ display: none;}
.splide__arrow.splide__arrow--next {right: 0;}
.splide__arrow.splide__arrow--prev {border-radius: 0; border-top-left-radius: 10px; border-bottom-left-radius: 10px; left: 0;}
button.splide__arrow.splide__arrow--prev::after, button.splide__arrow.splide__arrow--next::after { content: 'prev'; font-family: swiper-icons; font-size: 20px; display: block; }
button.splide__arrow.splide__arrow--next::after { content: 'next';}
div#thumbnail-slider {overflow: hidden; border-radius: 10px; margin-bottom: 15px;}
#main-slider .splide__slide img {width: 100%; height: auto; object-fit: cover; border-radius: 5px;}
#thumbnail-slider .splide__slide img { width: 100%; height: auto; object-fit: cover; border-radius: 5px; cursor: pointer;}
.splide__arrow {background-color: #D60000; color: white; padding: 10px; cursor: pointer;}
.splide__arrow:hover {background-color: #fff; color: #D60000;}
.splide--fade>.splide__track>.splide__list>.splide__slide {height: 100% !important; padding-bottom: 80px !important; min-height: 500px;}
.container-faq .accordion-item .accordion-button {background: #8488A5; color: #fff; border: 0; font-size: 16px; text-align: left; text-transform: uppercase; font-weight: 500;    font-weight: 500; font-size: 14px; text-align: left; text-transform: capitalize;}
.container-faq .accordion-item .card-header h2 {background: #8488A5; display: block; border-radius: 15px; overflow: hidden;}
.section-parallax-banner {margin-top: -70px; z-index: -5; padding-top: 150px;}
.section-parallax-banner.section-faq {padding-bottom: 150px !important; background-position: top left; background-size: cover; background-repeat: no-repeat; margin-top: 0; z-index: 0; }
.faq-1, .faq-2 {z-index: 0;}
.section-timeline h3 span.accent-color, .disclaimer-text h1 span.accent-color {font-weight: 700; display: block;}
.section-timeline h3 span.accent-color {display: initial !important;}
.timeline-container {
    position: relative;
    padding: 2rem 0;
    max-width: 800px;
    margin: 0 auto;
}
.top-gradient, .bottom-gradient {
    content: '';
    height: 150px;
    width: 100%;
    display: block;
    position: absolute;
    background: rgb(247,247,247);
    background: -moz-linear-gradient(0deg, rgba(247,247,247,0) 0%, rgba(247,247,247,1) 100%);
    background: -webkit-linear-gradient(0deg, rgba(247,247,247,0) 0%, rgba(247,247,247,1) 100%);
    background: linear-gradient(0deg, rgba(247,247,247,0) 0%, rgba(247,247,247,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#f7f7f7",endColorstr="#f7f7f7",GradientType=1);}
.bottom-gradient {position: relative;background: rgb(247,247,247);background: -moz-linear-gradient(180deg, rgba(247,247,247,0) 0%, rgba(247,247,247,1) 100%);background: -webkit-linear-gradient(180deg, rgba(247,247,247,0) 0%, rgba(247,247,247,1) 100%);background: linear-gradient(180deg, rgba(247,247,247,0) 0%, rgba(247,247,247,1) 100%);filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#f7f7f7",endColorstr="#f7f7f7",GradientType=1); position: relative; top: -100px;}
.timeline-container::after {
    content: '';
    position: absolute;
    width: 10px;
    background: #ebebeb;
    top: 0;
    bottom: 0;
    left: 50%;
    margin-left: -1px;
    z-index: -1;
}

.timeline-item {
    position: relative;
    margin: 2rem 0;
    width: 50%;
    padding: 0 2rem;
}

.timeline-item.left {
    left: 0;
}

.timeline-item.right {
    left: 50%;
}

.timeline-dot {
    position: absolute;
    width: 20px;
    height: 20px;
    background: #D60000;
    border-radius: 50%;
    right: -19px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
    border: solid 6px #dbdbdb;
    box-sizing: content-box;
}
.timeline-content ul {
    padding: 0 20px;
}
.timeline-content ul li {
    font-size: 14px;
    font-family: 'Pontano Sans';
    background-image: url(../image/ico-check.svg);
    background-repeat: no-repeat;
    background-position: left 5px;
    background-size: 14px;
    padding-left: 20px;
    padding-bottom: 10px;
}
.timeline-item.right .timeline-dot {
    left: -12px;
}
.timeline-content h3, .timeline-content p {
    padding: 0 20px;
}
.timeline-content {
    padding: 1.5rem;
    background: #fffafa;
    border-radius: 20px;
    overflow: hidden;
    padding: 0;
    padding-bottom: 30px;
    box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1);
    transition: transform 0.3s ease;
}

.timeline-content:hover {
    transform: translateY(-5px);
}

.timeline-content img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    margin-bottom: 1rem;
}

.timeline-content h3 {
    color: #d60000;
    margin-bottom: 0.5rem;
    font-size: 17px;
}

.timeline-content p {
    margin-bottom: 0.5rem;
    color: #453A3A;
    font-size: 14px;
    line-height: 20px;
}

.date {
    display: inline-block;
    padding: 0.25rem 0.75rem;
    background: rgb(245, 245, 245);
    color: grey;
    border-radius: 10px;
    font-size: 0.875rem;
}
.splide--nav>.splide__track>.splide__list>.splide__slide.is-active {border: initial !important;}

/*---------- REGISTRATION FORM ----------*/
.form-check br {
    display: none;
}
.form-control.wpcf7-not-valid {
    background: #fff4f4;
    border: solid 2px #de4949;
}
.wpcf7 form.sent .wpcf7-response-output {
    background: #69d173;
    color: #fff;
    border-radius: 10px;
    padding: 30px;
    text-align: center;
    border: 0;
    transition: all 0.3s;
}
.form .btn {
    color: #fff;
    background-color: #d60000;
    font-weight: 700;
    border: solid 2px #d60000;
    transition: all 0.3s;
    padding: 50px;
    font-size: 18px;
    text-align: center;
}
.form .btn:hover {
    color: #d60000;
    background-color: #ffffff;
    font-weight: 700;
}
.form .btn:active {border: solid 2px #d60000 !important;}
.step-container {
    display: none;
}
.step-container.active {
    display: block;
}
  .step-nav {
    display: flex;
    justify-content: space-between;
    margin-bottom: 20px;
    max-width: 400px;
    margin: 0 auto;
    position: relative;
    z-index: 0;
    height: 65px;
  }
  .step-nav::before {
    content: '';
    background: #EEEEEE;
    height: 5px;
    top: 23px;
    width: 100%;
    position: absolute;
    z-index: -1;
}
  .step-nav .step {
    cursor: pointer;
    border: 4px solid #eeeeee;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    background-color: #5F5F5F;
    position: relative;
}
.step-nav .step span { color: #5F5F5F; width: 100%;}
.step-nav .step span.step-number { color: #fff; top: 0; position: relative;}
div#stepNav1 span:last-child {bottom: -30px;}
.step-nav .step.active {background-color: #DC0000; border-color: #FFC4C4;}
.step-nav .step.active span {color: #dc0000;}
.step-nav .step.active .step-number { color: #fff;}
.btn-action.btn-form { border-radius: 0; line-height: 50px; font-size: 15px; padding: 0px 40px; color: #fff; margin: 0 auto;}
label.form-label {font-weight: 500; font-size: 14px;}
.info-course-landing {max-width: 1200px; margin: 0 auto;}
.landing-course-title {text-transform: capitalize; font-size: 55px; line-height: 50px;
    padding-bottom: 10px; font-weight: 500; margin: 0;}
.landing-info-price {line-height: 35px; padding-top: 10px; padding-bottom: 30px;}
.landing-info-price p { font-size: 35px; font-family: 'Montserrat'; margin: 0;}
.landing-info-price span { font-size: 18px;}
.landing-info-price p span { font-weight: 700; font-style: italic; font-size: 40px;}
.step-container .form-control { background: #F7F7F7; border: solid 2px #DDDDDD; border-radius: 10px !important; font-weight: 500; text-transform: uppercase; width: 100% !important;}
.step-container label.form-control { color: #616161;font-weight: 400;}
.step-container .form-control:focus {border-color:#86b7fe;}
.step-nav .step span { font-size: 10px; font-weight: 600; line-height: 10px; position: absolute; bottom: 0; bottom: -20px; text-align: center; width: 80px;}
.step-nav span.step-number { font-size: 25px; top: 19px; position: absolute;}
.input-bday div { width: 100% !important;}
.form-check div br {display: none !important;}
.wrap-landing-form { max-width: 800px; margin: 0 auto; margin-top: 40px; background: #ffffff; border-radius: 30px; padding: 80px 60px; box-shadow: rgba(0, 0, 0, 0.1) 0px 10px 15px -3px, rgba(0, 0, 0, 0.05) 0px 4px 6px -2px;}
.container.wrap-landing { position: relative; top: -400px; z-index: 1020;}
.internal_header {height: 250px;display: flex;align-items: center;justify-content: center;background-color: #CC0B0B; color: #fff; text-align: center;}
.step-container select {cursor: pointer;}
.input-group.input-bday span.wpcf7-form-control-wrap {width: 100%;}
.wrap-nav-btn-form {padding: 30px 0!important;}
.step-container {padding: 30px 0; overflow: hidden;}
.step-container h4 {text-align: center;}
label.form-check-label {position: absolute;}
.wpcf7-spinner {display: none !important;}
.wpcf7 form.submitting .wpcf7-spinner {display: inline-block;}
.bullet-points span.ico-points {width: 32px;}
.bullet-points span.ico-points img {width: 100%; height: auto;}
.bullet-points span p { text-align: left; font-weight: 500; margin: 0; padding: 0; padding-left: 10px; font-family: 'Montserrat'; line-height: 23px;}
.element-point {background: rgb(255 255 255 / 10%); padding: 10px; border-radius: 10px; }
.accordion .accordion-button {font-size: 17px;}
footer ul.woocommerce-product-links li a { font-weight: 500;}
.small-title {font-weight: 400;
  text-transform: none;
  font-style: italic;
  font-size: 35px;
  padding: 0;
  margin: 0;}
/* ---- WOOCOMMERCE ---- */
.wp-element-button {
    background: #DC0000 !important;
    color: #fff;
    font-family: 'Montserrat';
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0px;
    border: 0;
}

/* Stile generale della pagina */
.woocommerce-order {
    max-width: 800px;
    margin: 0 auto;
    padding: 2rem;
    background: #f8f9fa; /* grigio chiaro */
    border-radius: 8px;
    box-shadow: 0 0 10px rgba(0,0,0,0.05);
    font-family: 'Roboto', sans-serif;
  }
  
  /* Messaggio di successo */
  .woocommerce-order .woocommerce-notice--success {
    background-color: #d1e7dd;
    border-left: 5px solid #0f5132;
    padding: 1rem;
    border-radius: 5px;
    color: #0f5132;
    font-weight: 500;
    margin-bottom: 2rem;
  }
  
  /* Dettagli ordine */
  .woocommerce-order-overview {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-bottom: 2rem;
    padding: 0 !important;
  }
  .woocommerce ul.order_details::after, .woocommerce ul.order_details::before {
    content: none !important;
}
.woocommerce ul.order_details li {
    padding-left: 20px;
    font-family: 'Montserrat';
}
h2.woocommerce-order-details__title, h2.woocommerce-column__title {
    font-family: 'Montserrat';
    font-size: 30px;
    font-weight: 600;
}
  
  .woocommerce-order-overview li {
    flex: 1 1 45%;
    list-style: none;
    background: #fff;
    padding: 1rem;
    border: 1px solid #dee2e6;
    border-radius: 5px;
    font-size: 0.95rem;
  }
  
  /* Tabella prodotti acquistati */
  .woocommerce-order-details table.shop_table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 1rem;
    background: #fff;
    border: 1px solid #dee2e6;
  }
  
  .woocommerce-order-details table th,
  .woocommerce-order-details table td {
    padding: 0.75rem;
    border: 1px solid #dee2e6;
    text-align: left;
  }
  
  .woocommerce-order-details table th {
    background: #f1f1f1;
    font-weight: 600;
  }
  
  /* Footer / info addizionali */
  .woocommerce-order .woocommerce-customer-details {
    margin-top: 2rem;
    font-size: 0.9rem;
  }
  
  .woocommerce-order address {
    background: #fff;
    padding: 1rem;
    border: 1px solid #dee2e6;
    border-radius: 5px;
    line-height: 1.6;
  }
  
  /* Responsive tweaks */
  @media (max-width: 576px) {
    .woocommerce-order-overview {
      flex-direction: column;
    }
  
    .woocommerce-order-overview li {
      flex: 1 1 100%;
    }
  }
  
/* Stile base del menu */
.woocommerce-MyAccount-navigation {
    background-color: #ffffff;
    border: 1px solid #dee2e6;
    border-radius: 8px;
    padding: 1.5rem;
    max-width: 300px;
    font-family: 'Roboto', sans-serif;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
  }
  /* Lista non stilizzata */
  .woocommerce-MyAccount-navigation ul {
    list-style: none;
    padding: 0;
    margin: 0;
  }
  /*-- Link generico --*/
  .woocommerce-MyAccount-navigation-link a {
    display: block;
    padding: 0.75rem 1rem;
    color: #212529;
    text-decoration: none;
    border-radius: 6px;
    transition: background-color 0.2s, color 0.2s;
    font-weight: 500;
  }
  /* Hover */
  .woocommerce-MyAccount-navigation-link a:hover {
    background-color: #f8f9fa;
    color: #cc0b0b;
  }
  
  /* Link attivo */
  .woocommerce-MyAccount-navigation-link.is-active a,
  .woocommerce-MyAccount-navigation-link a[aria-current="page"] {
    background-color: #cc0b0b;
    color: #fff;
    font-weight: 600;
  }
  .main-content__content {
    padding-top: 30px;
  }
  /* Per mobile o schermi piccoli */
  @media (max-width: 768px) {
    .woocommerce-MyAccount-navigation {
      max-width: 100%;
      padding: 1rem;
      margin-bottom: 1.5rem;
    }
    .woocommerce-MyAccount-navigation ul {
      display: flex;
      flex-wrap: wrap;
      gap: 0.5rem;
    }
    .woocommerce-MyAccount-navigation li {
      flex: 1 1 45%;
    }
    .woocommerce-MyAccount-navigation-link a {
      text-align: center;
    }
  }

/*-- --*/
select.form-select option:disabled {
    color: #888; /* colore grigio per il placeholder */
    font-style: italic; /* opzione stilizzata per farla sembrare un placeholder */
}
  .btn.disabled, .btn:disabled, fieldset:disabled .btn {
    opacity: 0.5;
    background: #848484;
}
.fade-in-element { opacity: 0; transform: translateY(10px); animation: fadeIn 0.5s ease-out forwards;}
.step-container hr {
    display: block;
    color: #EEEEEE;
    opacity: 1;
    border-width: 4px;
    margin: 0;
}
.form-check-input:checked {
    background-color: #ffffff;
    border-color: #b1b1b1;
}
.container-fields { margin: 40px 0;}
.datepicker span {font-weight: 500; font-family: 'Montserrat';}
.datepicker-header .datepicker-controls .button { font-family: 'Montserrat';}
.step-container {min-height: 400px; }
.form-select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding-right: 2.5rem;
    background-image: url(../image/caret-select.svg) !important;
    background-repeat: no-repeat !important;
    background-position:right center !important;
    background-size: 30px !important;
  }
span.wpcf7-not-valid-tip {
    font-size: 11px;
    position: absolute;
    display: inline-block;
    width: 100%;
    max-width: 400px;
}
.title-form {font-size: 35px;}
  @keyframes fadeIn {
    0% {
      opacity: 0;
      transform: translateY(10px);
    }
    100% {
      opacity: 1;
      transform: translateY(0);
    }
  }

.scroll-element {
    position: fixed;
    bottom: -150px; 
    left: 0;
    padding:0;
    z-index: 1;
    transition: bottom 0.5s ease-out; }
.btn-check:checked+.btn, .btn.active, .btn.show, .btn:first-child:active, :not(.btn-check)+.btn:active {
    border: solid thin transparent;
}