/* ===============================================
General styles
================================================== */

html {
    scroll-behavior: smooth;
}

/* Tipography */
h2{
    font-size:var(--of-font-50);
    font-weight: 700;
}
p{
    font-size:var(--of-font-16);
    color:var(--light-grey);
}
a{
    color:var(--main-color);
    transition: color 0.5s ease;
}
a:hover{
    color:var(--main-color-hover);
}
.bg-gradient a{
    color:var(--white);
}
.bg-gradient a:hover{
    color:var(--white);
}
.font-sm,
.font-sm p{
    font-size:var(--of-font-14);
}
.font-md,
.font-md p{
    font-size:var(--of-font-16);
}
.font-lg,
.font-lg p{
    font-size:var(--of-font-18);
}
.font-xl,
.font-xl p{
    font-size:var(--of-font-20);
}
.bg-gradient{
    background: rgb(149,39,142);
    background: linear-gradient(135deg, rgba(149,39,142,1) 0%, rgba(218,31,124,1) 39%, rgba(254,46,9,1) 100%);
}

/* Grid */
.row .fullwidth{
    margin-left:-15px;
    width: calc(100% + 30px);
}
.fullwidth > .row{
    margin:0;
}
.fullwidth > .row > .col-12{
    padding:0;
}

/* Positioning */
.ps{
    padding:80px 50px;
}
.px-35{
    padding-left:35px;
    padding-right:35px;
}
.px-50{
    padding-left:50px;
    padding-right:50px;
}
.py-80{
    padding-top:80px;
    padding-bottom:80px;
}
.my-80{
    margin-top:80px;
    margin-bottom:80px;
}
.m-auto{
    margin-left:auto;
    margin-right:auto;
}
.max-w{
    max-width:540px;
}
.max-w-xl{
    max-width:885px;
}
.h-100{
    height:100% !important;
}
.mw-80{
    max-width:80%;
}
@media only screen and (max-width: 575px) {
    .ps{
        padding:40px 20px;
    }
    .px-35{
        padding-left:0;
        padding-right:0;
    }
    .px-50{
        padding-left:20px;
        padding-right:20px;
    }
    .py-80{
        padding-top:40px;
        padding-bottom:40px;
    }
    .mw-80{
        max-width:100%;
    }
}

/* Forms and Buttons */
.btn-default{
    background-color:var(--main-color);
    border:0;
    padding:15px 35px;
    font-size:1.2rem;
    color:var(--black);
    font-weight: 600;
    transition: all 0.5s ease;
}
.btn-default:hover{
    background-color:var(--main-color-hover);
    color:#fff;
}

.btn-outline{
    background-color:transparent;
    border:1px solid var(--main-color);
    padding:15px 35px;
    font-size:1.2rem;
    color: var(--main-color);
    font-weight: 600;
}
.btn-outline:hover{
    background-color:var(--main-color);
    color:#fff;
}
.btn-negative{
    background-color:var(--white);
    border:0;
    padding:15px 35px;
    font-size:1.2rem;
    color:var(--main-color);
    font-weight: 600;
}
.btn-negative:hover{
    opacity:0.8;
}

.btn-negative-outline{
    background-color:transparent;
    border:1px solid var(--white);
    padding:15px 35px;
    font-size:1.2rem;
    color: var(--white);
    font-weight: 600;
}
.btn-negative-outline:hover{
    background-color:var(--white);
    color:var(--main-color);
}
.wpcf7-list-item{
    margin:0;
}

/* Colors */
.text-main{
    color: var(--main-color) !important;
}
.text-default{
    color:var(--light-grey) !important;
}
.bg-main{
    background-color: var(--main-color) !important;
}
.bg-grey{
    background-color: var(--light-grey) !important;
}
.text-white p{
    color: var(--white) !important;
}

/* SVG Styles*/
.svg-clickable{
    pointer-events: none;
}


/* ===============================================
Header Styles
================================================== */

header .navbar{
    padding-left:35px;
    padding-right:35px;
}
.logo{
    /* max-width:120px; */
    height:50px;
    transition:all 0.5s ease;
}
.small .logo{
    height:30px;
}
.hide{
    font-size: 0;
    transition:all 0.5s ease;
}
@media only screen and (max-width: 575px) {
    .logo{
        height:30px;
    }
    header .navbar{
        padding-left:15px;
        padding-right:15px;
    }
}

/* Main Menu */
.navbar-white .menu-item{
    font-family: var(--title-font);
    font-size: var(--of-font-20);
}
.navbar-white .menu-item > .nav-link{
    color: var(--black);
    font-weight: 400;
    padding-left: 20px;
    padding-right: 20px;
}
.navbar-white .collapse:not(.show) .menu-item:first-child > .nav-link{
    padding-left: 0;
}
.navbar-white .menu-item:last-child > .nav-link{
    padding-right: 0;
}
.navbar-white .menu-item > .nav-link{
    color: var(--black);
    text-decoration: none;
    text-transform: uppercase;
}
.navbar-white .menu-item > .nav-link:hover{
    color: var(--main-color-hover);
}
.navbar-white .current-menu-item > .nav-link{
    color: var(--black);
}
.navbar-white .navbar-toggler-icon .fas{
    color: var(--main-color);
    font-size: var(--of-font-16);
}
.navbar-white .dropdown-menu{
    background-color: var(--main-color);
    border:0;
    border-radius: 0;
    padding:0;
    margin-top:0;
    left:unset;
    right:0;
}
.navbar-white .dropdown-menu .menu-item{
    border-bottom:1px solid #FCF1E2;
}
.navbar-white .dropdown-menu .menu-item:last-child{
    border-bottom:0;
}
.navbar-white .dropdown-menu .menu-item a{
    color:#FCF1E2;
    padding: 1rem 1.5rem;
    transition: all 0.5s ease;
}
.navbar-white .dropdown-menu .menu-item a:hover{
    background-color:#FCF1E2;
    color: var(--main-color);
}

/* Main Menu Mobile */
#modaleMenuMobile .modal-dialog{
    max-width:100%;
}
#modaleMenuMobile .modal-dialog{
    margin:0;
}
#modaleMenuMobile .modal-content{
    height:100vh;
    border:0;
    border-radius:0;
    background-color: var(--main-color);
}
#modaleMenuMobile .modal-content .modal-header{
    padding:1rem 20px;
}
#modaleMenuMobile .modal-content .close{
    color:#FCF1E2;
    font-size:3rem;
    opacity:1;
    font-weight: 200;
}
#modaleMenuMobile .modal-content .modal-body{
    padding:0;
}
#modaleMenuMobile .modal-content .menu{
    margin:0;
    padding:0;
}
#modaleMenuMobile .modal-content .menu-item{
    border-top:1px solid var(--dark-grey);
    display:block;
    position:relative;
}
.accordion-menu .menu-item{
    position:relative;
}
#modaleMenuMobile .modal-content .menu-item:last-child{
    border-bottom:1px solid var(--dark-grey);
}
#modaleMenuMobile .modal-content .menu-item .sub-menu{
    padding:0;
}
#modaleMenuMobile .modal-content .menu-item .sub-menu .menu-item a{
    color: var(--main-color);
    background-color:#fff;
}
.accordion-menu .menu-item-has-children > a::after{
    content:"\f078";
    font-family: "Font Awesome 5 Free";
    font-weight: 700;
    display:block;
    width:auto;
    height:20px;
    position:absolute;
    right:20px;
    top:10px;
}
.accordion-menu .menu-item-has-children.collapsed > a::after{
    content:"\f054";
}
#modaleMenuMobile .modal-content .menu-item a{
    color:var(--dark-grey);
    padding:10px 20px;
    display:block;
    font-size:1.4rem;
}

/* Footer Menu */
.footer-nav .footer-menu-title{
    color: var(--dark-grey);
    font-weight: 700;
}
.footer-nav .footer-nav-items{
    list-style: none;
    padding:0;
}
.footer-nav .footer-nav-items .menu-item{
    line-height: 2.5rem;
}
.footer-nav .footer-nav-items > .menu-item{
    font-weight: 400;
}
.footer-nav .footer-nav-items .sub-menu{
    list-style: none;
    padding:0;
}
.footer-nav .footer-nav-items .sub-menu .menu-item{
    line-height:1.4rem;
    margin-bottom:10px;
}
.footer-nav .footer-nav-items .sub-menu .menu-item,
.footer-nav.social .footer-nav-items .menu-item:first-child{
    font-weight: 400;
}
.footer-nav .footer-nav-items a{
    color: var(--light-grey);
}

.scroller{
    position:absolute;
    bottom:50px;
    width:100%;
    text-align:center;
    font-size: var(--of-font-50);
}
h1::selection,
h2::selection,
h3::selection,
p::selection,
ul li::selection{
    color: var(--black);
    background: var(--main-color);
}

/* Woocommerce Login */
.woocommerce-login-title{
    width: 320px;
    margin: auto;
    margin: 20px auto 0;
    text-align: center;
    color:var(--main-color);
}
.woocommerce .form-container{
    max-width: 480px;
    margin: 25px auto;
    margin: auto;
}
.page-id-64:not(.logged-in){
    background-color: #000;
    background-image: url('../images/facilefitness-header-bg.jpg');
    position: relative;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover;
}
.page-id-64:not(.logged-in):before{
    content: ' ';
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    opacity: 0.6;
    background-color:#000;
    z-index:-1;
}
.woocommerce form.login,
.woocommerce form.register{
    margin-top: 20px;
    margin-left: 0;
    padding: 26px 24px;
    font-weight: 400;
    overflow: hidden;
    background: #fff;
    border: 1px solid #c3c4c7;
    box-shadow: 0 1px 3px rgba(0,0,0,.04);
}
.woocommerce form.login p,
.woocommerce form.register p{
    color:var(--dark-grey);
}
.woocommerce form.login .password-input{
    width:100%;
}
.woocommerce form.login .woocommerce-Input,
.woocommerce form.register .woocommerce-Input{
    font-size: 24px;
    line-height: 1.33333333;
    width: 100%;
    padding: .1875rem .3125rem;
    margin: 0 6px 16px 0;
    min-height: 40px;
    max-height: none;
    box-shadow: 0 0 0 transparent;
    border-radius: 4px;
    border: 1px solid #8c8f94;
    border-top-width: 1px;
    border-right-width: 1px;
    border-bottom-width: 1px;
    border-left-width: 1px;
    background-color: #fff;
    color: #2c3338;
}
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce button.woocommerce-form-login__submit{
    background-color: var(--main-color);
    border: 0;
    padding: 15px 35px;
    font-size: 1.2rem;
    color: #000;
    font-weight: 600;
    line-height:1rem;
    transition: all 0.5s ease;
    float:right !important;
    margin-right:0 !important;
}
.woocommerce-LostPassword a{
    color:var(--dark-grey);
}

/* Woocommerce Account */
.woocommerce-account {
    background-color:var(--black);
}
.woocommerce-account .woocommerce{
    padding-top:3rem;
    max-width:1140px;
    margin:auto;
}
.woocommerce-account .woocommerce h2{
    font-family: var(--title-font);
    font-size: var(--of-font-40);
    color: var(--main-color);
    text-transform: uppercase;
    font-weight: 400;
}
.woocommerce-account .woocommerce h3{
    font-family: var(--title-font);
    font-size: var(--of-font-30);
    color: var(--white);
    text-transform: uppercase;
    font-weight: 400;
}
.woocommerce-account .woocommerce p,
.woocommerce-account .woocommerce address{
    font-family: var(--text-font);
    font-size: var(--of-font-14);
    color: var(--white);
}
.woocommerce table.my_account_orders td,
.woocommerce table.my_account_orders th,
.woocommerce table.shop_table td,
.woocommerce table.shop_table th{
    background-color:var(--white-20);
    color:var(--white);
}


.woocommerce #order_review table.shop_table th,
.woocommerce .woocommerce-order-details table.shop_table th{
    background-color:var(--extralight-grey);
    color:var(--black);
}
.woocommerce #order_review table.shop_table td,
.woocommerce .woocommerce-order-details table.shop_table td{
    color:var(--light-grey);
}
.woocommerce-account .woocommerce .button{
    background-color:var(--main-color);
    border:0;
    padding:15px 35px;
    font-size:1.2rem;
    color:var(--black);
    font-weight: 600;
    transition: all 0.5s ease;
}
.woocommerce-account .woocommerce .button:hover{
    background-color:var(--main-color-hover);
    color:#fff;
}

.woocommerce-account .woocommerce .button.cancel{
    background-color:var(--black);
    color:var(--main-color);
}
.woocommerce .col2-set,
.woocommerce-page .col2-set{
    display:flex;
}

/* Woocommerce Checkout */
.fc-expansible-form-section a{
    color:var(--black);
}
.fc-text-field input,
.woocommerce-input-wrapper input{
    height:45px;
    border:1px solid #aaa;
}

/* ===============================================
Custom Blocks Styles
================================================== */

/* Blocco Header */
.block-header,
.full-height-bg{
    position: relative;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover;
}
.block-header:before,
.full-height-bg:before{
    content: ' ';
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    opacity: 0.6;
    background-color:var(--black);
}
.block-header h1,
h1.main-title{
    font-family: var(--title-font);
    font-size: var(--of-font-100);
    color: var(--main-color);
    text-transform: uppercase;
    font-weight: 400;
    transition: all 0.5s ease;
}
.block-header h1:hover{
    color: var(--main-color-hover);
}
.block-header h2{
    font-family: var(--title-font);
    font-size: var(--of-font-80);
    color: var(--white);
    text-transform: uppercase;
    font-weight: 400;
}
.block-header p,
p.main-text{
    font-family: var(--text-font);
    font-size: var(--of-font-26);
    color: var(--white);
}
.block-header .btn{
    font-family: var(--text-font);
    font-size: var(--of-font-20);
    color: var(--black);
    text-transform: uppercase;
    font-weight: 700;
}
.block-header .smartphone{
    position:absolute;
    right:0;
    bottom:0;
    max-width:35%;
}

/* Blocco Promessa */
.block-promessa{
    position: relative;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover;
}
.block-promessa:before{
    content: ' ';
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    opacity: 0.4;
    background-color:var(--black);
}
.block-promessa h2{
    font-family: var(--title-font);
    font-size: var(--of-font-100);
    color: var(--black);
    text-transform: uppercase;
    font-weight: 400;
    transition: all 0.5s ease;
}
.block-promessa h2:hover{
    color: var(--main-color-hover);
}
.block-promessa h3{
    font-family: var(--title-font);
    font-size: var(--of-font-80);
    color: var(--white);
    text-transform: uppercase;
    font-weight: 400;
}
.block-promessa p{
    font-family: var(--text-font);
    font-size: var(--of-font-26);
    color: var(--white);
}
.block-promessa ul{
    font-family: var(--text-font);
    font-size: var(--of-font-26);
    color: var(--white);
}
.block-promessa ul li::marker{
    color: var(--main-color);
}
.block-promessa .btn{
    font-family: var(--text-font);
    font-size: var(--of-font-20);
    color: var(--black);
    text-transform: uppercase;
    font-weight: 700;
}

/* Blocco Prinicipi */
.block-principi{
    position: relative;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover;
}
.block-principi:before{
    content: ' ';
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    opacity: 0.4;
    background-color:var(--black);
}
.block-principi h2{
    font-family: var(--title-font);
    font-size: var(--of-font-100);
    color: var(--main-color);
    text-transform: uppercase;
    font-weight: 400;
    transition: all 0.5s ease;
}
.block-principi h2:hover{
    color: var(--main-color-hover);
}
.block-principi h3{
    font-family: var(--title-font);
    font-size: var(--of-font-40);
    color: var(--white);
    text-transform: uppercase;
    font-weight: 400;
}
.block-principi .titoli p{
    font-family: var(--text-font);
    font-size: var(--of-font-26);
    color: var(--white);
}
.block-principi p{
    font-family: var(--text-font);
    font-size: var(--of-font-22);
    color: var(--white);
}
.block-principi .btn{
    font-family: var(--text-font);
    font-size: var(--of-font-20);
    color: var(--black);
    text-transform: uppercase;
    font-weight: 700;
}

/* Blocco Diario */
.block-diario{
    position: relative;
    background-repeat: no-repeat;
    background-position: top right;
    background-size: contain;
}
.block-diario h2{
    font-family: var(--title-font);
    font-size: var(--of-font-100);
    color: var(--black);
    text-transform: uppercase;
    font-weight: 400;
    transition: all 0.5s ease;
}
.block-diario h2:hover{
    color: var(--main-color-hover);
}
.block-diario .titoli p{
    font-family: var(--text-font);
    font-size: var(--of-font-26);
    color: var(--dark-grey);
}
.block-diario p{
    font-family: var(--text-font);
    font-size: var(--of-font-22);
    color: var(--white);
}
.block-diario .btn{
    font-family: var(--text-font);
    font-size: var(--of-font-20);
    color: var(--black);
    text-transform: uppercase;
    font-weight: 700;
}
.block-diario .bg-only{
    background-position: 0 0;
    background-size: cover;
}
.block-diario .scroller a{
    color: var(--black);
}

@media only screen and (max-width: 991px) {
    .block-diario{
        background-image: none !important;
    }
}

/* Blocco FAQ */
.block-faq{
    background-image: url('../images/facilefitness-faq-bg.jpg');
    position: relative;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover;
}
.block-faq:before{
    content: ' ';
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    opacity: 0.4;
    background-color:var(--black);
}
.block-faq h2{
    font-family: var(--title-font);
    font-size: var(--of-font-100);
    color: var(--main-color);
    text-transform: uppercase;
    font-weight: 400;
    transition: all 0.5s ease;
}
.block-faq h2:hover{
    color: var(--main-color-hover);
}
.block-faq #sp-ea-51.sp-easy-accordion .sp-ea-single{
    border: 0;
}
.block-faq #sp-ea-51.sp-easy-accordion .sp-ea-single .ea-header a{
    font-family: var(--title-font);
    font-size: var(--of-font-22);
    color: var(--black);
    text-transform: uppercase;
    font-weight: 400;
    background-color: var(--main-color);
}
.block-faq #sp-ea-51.sp-easy-accordion .sp-ea-single .ea-header a .ea-expand-icon{
    color: var(--black);
}
.block-faq #sp-ea-51.sp-easy-accordion .sp-ea-single .sp-collapse .ea-body{
    background-color: var(--black);
}
.block-faq .titoli p{
    font-family: var(--text-font);
    font-size: var(--of-font-26);
    color: var(--white);
}
.block-faq p{
    font-family: var(--text-font);
    font-size: var(--of-font-18);
    color: var(--white);
}
.block-faq .btn{
    font-family: var(--text-font);
    font-size: var(--of-font-20);
    color: var(--black);
    text-transform: uppercase;
    font-weight: 700;
}

/* Blocco Recensioni */
.block-recensioni{
    background-color: var(--main-color);
}
.block-recensioni .box-recensione{
    padding:20px;
    background-image: url('../images/quotes-open.png'), url('../images/quotes-close.png');
    background-position: left top, right bottom;
    background-repeat: no-repeat;
}
.block-recensioni .box-recensione p{
    font-family: var(--text-font);
    font-size: var(--of-font-20);
    color: var(--dark-grey);
}
.block-recensioni .autore{
    padding:20px;
}
.block-recensioni .autore p{
    font-family: var(--title-font);
    font-size: var(--of-font-30);
    color: var(--black);
    text-transform: uppercase;
}
.block-recensioni .scroller a{
    color: var(--black);
}

.block-recensioni h1::selection,
.block-recensioni h2::selection,
.block-recensioni h3::selection,
.block-recensioni p::selection,
.block-recensioni ul li::selection{
    color: var(--main-color);
    background: var(--black);
}

/* Blocco Footer */
.block-footer{
    position: relative;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover;
}
.block-footer:before{
    content: ' ';
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    opacity: 0.6;
    background-color:var(--black);
}
.block-footer h2{
    font-family: var(--title-font);
    font-size: var(--of-font-100);
    color: var(--main-color);
    text-transform: uppercase;
    font-weight: 400;
    transition: all 0.5s ease;
}
.block-footer h2:hover{
    color: var(--main-color-hover);
}
.block-footer .btn{
    font-family: var(--text-font);
    font-size: var(--of-font-20);
    background-color: var(--black);
    color: var(--main-color);
    text-transform: uppercase;
    font-weight: 700;
}
.block-footer .btn:hover{
    background-color: var(--main-color-hover);
    color: var(--black);
}

/* Blocco Piano */
.block-piano{
    border-radius:10px;
    background-color:var(--white);
    padding:2rem;
}
.block-piano h2{
    font-family: var(--title-font);
    font-size: var(--of-font-40);
    color: var(--black);
    text-transform: uppercase;
    font-weight: 400;
    transition: all 0.5s ease;
}
.block-piano .btn-default{
    color:var(--black);
}
.box-evidenza{
    display: block;
    top: 20px;
    position: absolute;
    right: -10px;
    padding: 5px 10px;
    background-color: var(--main-color);
}




@media only screen and (max-width: 575px) {
    .parallax-title p{
        font-size:2.8rem;
        line-height: 4rem;
    }
    .text-indent .testo-sx{
        margin-right:0;
    }
    .text-indent .testo-dx{
        margin-left:0;
    }
    .img-block-image{
        min-height:auto;
    }
    .wave{
        height:30px;
    }
    .block-single-number{
        width:100px
    }
}

/* ===============================================
Bootstrap Override
================================================== */

/* Pagination */
.pagination .page-link{
    border:0;
    color: #891B43;
    font-weight: 700;
    font-size:1.2rem;
}
.page-item.active .page-link{
    background-color:transparent;
    color:#535353;
}
/* Carousel */
.carousel-indicators{
    bottom:-60px;
}
.carousel-indicators li{
    background-color:#891B43;
}
.carousel-control-next,
.carousel-control-prev{
    width:10%;
}
.carousel-control-prev-icon,
.carousel-control-next-icon {
  background-image: none;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
}
.carousel-control-next-icon:after
{
    content: "\f054";
    font-size: 55px;
    color: #891B43;
}

.carousel-control-prev-icon:after {
  content: "\f053";
  font-size: 55px;
  color: #891B43;
}

@media only screen and (max-width: 575px) {
    .carousel-indicators{
        bottom:-40px;
    }
}



/* ===============================================
Footer Style
================================================== */

/* Pre-Footer */
.logo-footer{
    max-height:40px;
}

@media only screen and (max-width: 575px) {
    .footer-nav{
        margin-top:40px;
    }
}
/* Footer */
.footer{
    padding-top:60px;
    padding-bottom:60px;
    background-color: var(--main-color);
}
.footer a{
    color: var(--black);
    text-decoration: underline;
}


/* Animazioni */
.fade-in{
    animation: fadein linear both;
    animation-timeline: view();
    animation-range: entry 10% cover 50%;
}
@keyframes fadein {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}