@charset "UTF-8";
/*-----------------------------------------------------------------------------------
    Template Name: Fit2Fine
    Description: Gym Fitness BodyBuilding
    Author: Codezion
    Author URI: https://www.templatemonster.com/authors/codezion/
    Version: 1.0

-----------------------------------------------------------------------------------
    
    >>> TABLE OF CONTENTS:
    =======================

    01. Common/Reusable CSS
        1.1 - Animations
        1.2 - General
        1.3 - Section Title
        1.4 - Video Button
        1.5 - Slick Arrows
        1.6 - Slick Dots
        1.7 - Typography
        1.8 - Tables
        1.9 - Modals
        1.10 - Forms
        1.11 - Buttons
        1.12 - Pagination
        1.13 - Colors
        1.14 - Accordion
    02. Homepage
        2.1 - Topbar
        2.2 - Header
        2.3 - Banner
        2.4 - About Text
        2.5 - Services
        2.6 - Programs
        2.7 - Gallery
        2.8 - Trainer
        2.9 - Team
        2.10 - Offers
        2.11 - Pricing
        2.12 - Testimonials
        2.13 - Blogs
        2.14 - Schedule Calendar
        2.15 - Newsletter
        2.16 - Contact
        2.17 - Footer
        2.18 - Copyright
        2.19 - Back to top
    04. About Us
    05. Blog Grid
    06. Blog Details
    07. Services
    08. Team
    09. Trainer
    10. Schedule
    11. Pricing
    12. Program
    13. Gallery
    14. Contact Us
    
-----------------------------------------------------------------------------------*/
/*Google Fonts*/
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;500;600;700&display=swap');

:root {
    --thm-font: 'Roboto', sans-serif;
    /* Headings */
    --thm-b-font: 'Open Sans', sans-serif;
    /* Body font */
    --thm-icon-font: "Font Awesome 5 Pro";
    --thm-bs-icon-font: "bootstrap-icons !important";
    /*Icon Font*/
    --thm-color-one: #00fd77;
    --thm-color-two: #000000;
    --thm-color-three: #ed3848;
    --thm-color-four: #fff717;
    /*Light Color*/
    --thm-color-light: #eff0ef;
    /*RGB Colors*/
    --thm-color-one-rgb: 0, 253, 119;
    --thm-color-two-rgb: 0, 0, 0;
    --thm-color-three-rgb: 237, 56, 72;
    --thm-color-four-rgb: 255, 247, 23;
    /*Light Color*/
    --thm-color-light-rgb: 239, 240, 239;
    /*Theme Colors*/
    --thm-body-color: #797979;
    --thm-bodybg: #151515;
    /*Body Colors*/
    --thm-white: #ffffff;
    /*White Color*/
    --thm-border: #333333;
    /*Border Color*/
}

/*Animations*/
@keyframes fadeHeaderInDown {
    0% {
        opacity: 0;
        transform: translate3d(0, -100%, 0);
    }

    100% {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

/*General*/
::selection {
    background-color: var(--thm-color-one);
    color: var(--thm-white);
}

i[class^="flaticon-"],
i[class*=" flaticon-"] {
    display: flex;
    align-items: center;
    justify-content: center;
}

html {
    overflow-x: hidden;
}

body {
    font-family: var(--thm-b-font);
    overflow-x: hidden;
    color: var(--thm-white);
    background-color: var(--thm-bodybg);
    font-size: 14px;
    line-height: 1.8;
    font-weight: 400;
}

.relative {
    position: relative;
}

.thm-font {
    font-family: var(--thm-font);
}

.section {
    position: relative;
    padding: 80px 0;
}

.section-padding {
    position: relative;
    padding: 80px 0 50px;
}

.image-fit {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.image-fit-contain {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}

.transform-center {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    transform: translate(0%, -50%);
    z-index: 1;
}

[class^="flaticon-"]:before,
[class*=" flaticon-"]:before {
    font-size: inherit;
    margin: 0;
}

ul {
    padding: 0;
    margin: 0;
    list-style-type: none;
}

ul li {
    margin-bottom: 0;
    position: relative;
}

button:focus,
*:focus {
    outline: none;
}

button {
    background: transparent;
    border: none;
    padding: 0;
}

label {
    margin-bottom: 10px;
    font-weight: 500;
    line-height: normal;
}

label>a {
    font-size: 14px;
}

img {
    max-width: 100%;
}

.form-group {
    position: relative;
    margin-bottom: 30px;
}

.container-wide .row {
    flex-wrap: unset;
}

.z-1 {
    position: relative;
    z-index: 1;
}

.z-2 {
    position: relative;
    z-index: 2;
}


.section-bg {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    position: relative;
    z-index: 1;
}

.section-bg-fix {
    background-attachment: fixed;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    position: relative;
    z-index: 1;
}

.section-bg:before,
.section-bg-fix:before {
    content: '';
    background-color: rgb(var(--thm-color-two-rgb), 42%);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}

/*section-title*/
.section-header {
    max-width: 550px;
    padding-bottom: 30px;
    margin: 0 auto;
    text-align: center;
    position: relative;
}

.section-header .title {
    font-weight: bold;
    text-transform: capitalize;
    display: flex;
    justify-content: center;
    font-size: 36px;
    padding-bottom: 15px;
    margin-bottom: 15px;
    position: relative;
}

.section-header .title:after {
    content: '';
    height: 2px;
    width: 70px;
    display: flex;
    background-color: var(--thm-color-one);
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    bottom: 0;
}

.section-header .title span {
    color: var(--thm-color-one);
    margin-left: 7px;
}

.section-header .text {
    margin-bottom: 0;
}

.section-header.text-start .title {
    justify-content: flex-start;
}

.section-header.text-start,
.section-header.text-start .title:after {
    margin-left: 0;
}

.lh-normal {
    line-height: normal;
}

hr {
    margin: 30px 0;
    border-color: var(--thm-border);
}

/*blockquote*/
blockquote {
    position: relative;
    margin-bottom: 20px;
    text-align: center;
    padding-top: 10px;
}

blockquote .quote_icon {
    position: relative;
    color: var(--thm-color-one);
    font-size: 20px;
    margin-top: 15px;
    display: block;
}

blockquote .quote_title {
    position: relative;
    color: var(--thm-white);
    font-size: 24px;
    font-weight: 700;
    line-height: 1.6em;
    text-align: center;
}

/*Slick Arrows*/
.slick-arrow {
    font-size: 0;
    position: absolute;
    top: -70px;
    z-index: 100;
    width: 40px;
    height: 40px;
    color: var(--thm-border);
    background-color: var(--thm-white);
    border-radius: 50%;
    left: 0;
    transition: 0.3s all;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--thm-border);
}

.slick-arrow:hover {
    color: var(--thm-white);
    background-color: var(--thm-color-one);
    border-color: inherit;
}

.slick-arrow:before {
    content: "\f053";
    font-family: var(--thm-icon-font);
    font-weight: 400;
    font-size: 14px;
}

.slick-arrow.slick-next:before {
    content: "\f054";
}

.slick-arrow.slick-prev {
    left: auto;
    right: 65px;
}

.slick-arrow.slick-next {
    right: 15px;
    left: auto;
}

/*Slick Dots*/
.slick-dots {
    display: flex;
    align-items: center;
    justify-content: center;
    list-style: none;
    padding: 0;
    margin-top: 10px;
}

.slick-dots li {
    padding: 0;
    line-height: 0;
}

.slick-dots li button {
    font-size: 0;
    width: 10px;
    height: 10px;
    border-radius: 10px;
    background: var(--thm-white);
    margin: 0 5px;
    transition: 0.6s all;
    border: 2px solid var(--thm-white);
}

.slick-dots li.slick-active button {
    width: 12px;
    height: 12px;
    border-radius: 50px;
    background: var(--thm-color-one);
    border: 2px solid var(--thm-color-one);
}

/*pagination*/
.pagination {
    justify-content: center;
    margin-top: 50px;
    margin-bottom: 15px;
    border-radius: 0;
    flex-wrap: wrap;
}

.pagination .page-item {
    margin: 0px 5px 15px;
}

.pagination .page-item .page-link {
    border: none;
    border-radius: 0px;
    background-color: var(--thm-color-two);
    color: var(--thm-white);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    padding: 8px 17px;
}

.pagination .page-item .page-link.active,
.pagination .page-item.active .page-link,
.pagination .page-item:focus .page-link,
.pagination .page-item:hover .page-link {
    background-color: var(--thm-color-one);
}

/* Typography */

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--thm-font);
    font-weight: bold;
    color: var(--thm-white);
}

h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
    color: var(--thm-white);
}

h1,
h2,
h3,
h4,
h5,
h6 {
    margin-bottom: 30px;
}

h1 {
    font-size: 60px;
}

h2 {
    font-size: 48px;
}

h3 {
    font-size: 30px;
    line-height: 1.2;
}

h4 {
    font-size: 24px;
    line-height: 1.4;
}

h5 {
    font-size: 22px;
    line-height: 1.3;
}

h6 {
    font-size: 16px;
    line-height: 1.7;
}

p {
    margin-bottom: 30px;
}

a {
    color: var(--thm-white);
    transition: .3s all;
    text-decoration: none;
    display: inline-block;
}

a:hover,
a:focus {
    outline: none;
    box-shadow: none;
    text-decoration: none;
}

h1 a:hover,
h2 a:hover,
h3 a:hover,
h4 a:hover,
h5 a:hover,
h6 a:hover,
a:hover,
a:focus {
    color: var(--thm-color-one);
    text-decoration: none;
}

/*Tables*/
table {
    margin-bottom: 30px;
}

table th,
table td {
    padding: 15px;
    vertical-align: middle;
    background-color: var(--thm-white);
}

table th {
    font-weight: 500;
    color: var(--thm-color-two);
    font-size: 16px;
    border: 1px solid var(--thm-border);
}

table {
    width: 100%;
    margin-bottom: 30px;
}

table td {
    border: 1px solid var(--thm-border);
}

table img {
    width: 40px;
    border-radius: 0;
}

.mb-xl-20 {
    margin-bottom: 20px;
}

.mb-xl-30 {
    margin-bottom: 30px;
}

.mb-xl-60 {
    margin-bottom: 60px;
}

/*Modals*/
/*Forms*/
.form-control-custom {
    border-radius: 0;
    border: 1px solid var(--thm-border);
    background-color: transparent;
    padding: 10px 20px;
    height: auto;
    transition: 0.3s all;
}

.form-control-custom,
.form-control-custom:focus,
.form-control-custom::placeholder {
    font-size: 14px;
    font-weight: 500;
    color: var(--thm-body-color);
    font-family: var(--thm-font);
}

.form-control-custom:focus {
    box-shadow: none;
    background-color: transparent;
    border-color: var(--thm-color-one);
}

.form-control-custom+i {
    position: absolute;
    top: 50%;
    right: 3px;
    transform: translateY(-50%);
    color: var(--thm-color-two);
    pointer-events: none;
}

textarea.form-control-custom+i {
    top: 23px;
    transform: none;
}

.custom-control-label::before {
    background-color: transparent;
    border-color: var(--thm-border);
}

.custom-control-input:checked~.custom-control-label::before {
    background-color: var(--thm-color-three);
    border-color: var(--thm-color-three);
}

/*Buttons*/
.thm-btn {
    font-size: 14px;
    color: var(--thm-color-two);
    display: inline-flex;
    align-items: center;
    padding: 8px 35px;
    transition: 0.5s all;
    font-weight: 600;
    background-color: var(--thm-color-one);
    text-align: center;
    justify-content: center;
    white-space: nowrap;
}

.thm-btn:hover,
.thm-btn:focus {
    color: var(--thm-color-one);
    background-color: var(--thm-white);
}

.thm-btn i {
    font-size: 14px;
    line-height: normal;
    margin-left: 10px;
}

.thm-btn.btn-small {
    padding: 2px 21px;
}

/*Colors*/
.thm-color-one {
    color: var(--thm-color-one);
}

.thm-color-two {
    color: var(--thm-color-two);
}

.thm-color-three {
    color: var(--thm-color-three);
}

.thm-color-four {
    color: var(--thm-color-four);
}

.thm-bg-color-one {
    background-color: var(--thm-color-one);
}

.thm-bg-color-two {
    background-color: var(--thm-color-two);
}

.thm-bg-color-three {
    background-color: var(--thm-color-three);
}

.thm-bg-color-four {
    background-color: var(--thm-color-four);
}

.fw-500 {
    font-weight: 500;
}

.fw-600 {
    font-weight: 600;
}

.fw-700 {
    font-weight: 700;
}

/*Accordion*/
.custom-accordion .accordion-item {
    border: 1px solid var(--thm-border);
    margin-bottom: 10px;
    border-radius: 8px;
    position: relative;
    overflow: hidden;
}

.custom-accordion .accordion-item:last-child {
    margin-bottom: 0;
}

.custom-accordion .accordion-button {
    font-size: 20px;
    font-weight: 500;
    padding: 15px 20px;
    color: var(--thm-white);
    background-color: var(--thm-color-one);
}

.custom-accordion .accordion-button:focus {
    box-shadow: none;
}

.custom-accordion .accordion-button::after {
    color: var(--thm-white);
    content: "\f078";
    font-family: var(--thm-icon-font);
    background-image: none;
}

.custom-accordion .accordion-button.collapsed {
    color: var(--thm-color-two);
    background-color: var(--thm-color-light);
}

.custom-accordion .accordion-button.collapsed::after {
    color: var(--thm-color-two);
}

.custom-accordion .accordion-body {
    padding-bottom: calc(1rem - 15px);
}

.custom-accordion .accordion-body p {
    margin-bottom: 15px;
}

/*topbar*/
.topbar .topbar_inner {
    border-bottom: 1px solid var(--thm-border);
    padding-top: 12px;
}

.topbar .top_list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.topbar .top_list li {
    margin-bottom: 10px;
    line-height: normal;
    margin-right: 35px;
}

.topbar .top_list li a i.bi {
    color: var(--thm-color-one);
    margin-right: 5px;
}

.topbar .right_side {
    justify-content: flex-end;
}

.topbar .right_side li {
    margin-left: 10px;
    margin-right: 0;
}

.topbar .top_list .search_bar {
    margin-right: 25px;
}

.topbar .top_list .search_bar .input-group>.search_input::placeholder,
.topbar .top_list .search_bar .input-group>.search_input {
    border: none;
    margin: 0;
    padding: 0;
    background-color: transparent;
    color: var(--thm-white);
    font-size: 14px;
    font-weight: 400;
    width: 80px;
    transition: 0.3s all;
    height: 20px;
}

.topbar .top_list .search_bar .input-group>.search_input:valid,
.topbar .top_list .search_bar .input-group>.search_input:focus {
    width: 150px;
}

.topbar .top_list .search_bar .input-group .input-group-append button {
    width: 20px;
    height: 20px;
    background-color: transparent;
    color: var(--thm-color-one);
    font-size: 12px;
}

/*header*/
.header .logo {
    margin: 20px auto;
    text-align: center;
    width: 100px;
    height: 65px;
}

.header .navigation {
    display: flex;
    align-items: center;
    justify-content: center;
}

.header .navigation .main-menu {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.header .navigation .main-menu>.menu-item>a {
    color: var(--thm-white);
    font-size: 14px;
    padding: 2px 15px;
    display: flex;
    align-items: center;
}

.header .navigation .main-menu>.menu-item>a.active,
.header .navigation .main-menu>.menu-item:hover>a {
    color: var(--thm-color-one);
}

.header .navigation .menu-item-has-children {
    position: relative;
}

.header .navigation .main-menu>.menu-item>a:before {
    content: '';
    display: block;
    width: 1px;
    height: 15px;
    background-color: var(--thm-white);
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}

.header .navigation .main-menu>.menu-item:first-child>a:before {
    display: none;
}

.header .navigation .menu-item-has-children>a:after {
    content: "\f078";
    font-family: var(--thm-icon-font);
    margin-left: 10px;
    font-size: 10px;
}

.header .navigation .menu-item-has-children .sub-menu {
    z-index: 10;
    position: absolute;
    top: 100%;
    left: 0;
    transition: 0.5s all;
    width: 180px;
    visibility: hidden;
    opacity: 0;
}

.header .navigation .menu-item-has-children:hover>.sub-menu {
    opacity: 1;
    visibility: visible;
}

.header .navigation .menu-item-has-children .sub-menu .menu-item>a {
    background-color: var(--thm-color-two);
    color: var(--thm-white);
    width: 100%;
    display: flex;
    padding: 5px 15px;
    align-items: center;
}

.header .navigation .menu-item-has-children .sub-menu .menu-item:hover>a {
    background-color: var(--thm-color-one);
    color: var(--thm-white);
}

.header .navigation .menu-item-has-children .sub-menu .menu-item-has-children>a:after {
    position: absolute;
    right: 15px;
    transform: rotate(-90deg);
}

.header .navigation .menu-item-has-children .sub-menu .menu-item-has-children>.sub-menu {
    left: 100%;
    top: 0;
}

.header .hamburger {
    display: none;
    align-items: center;
    justify-content: center;
    width: 45px;
    height: 45px;
    background-color: var(--thm-color-one);
    cursor: pointer;
}

.header .hamburger .hamburger_btn span {
    display: flex;
    width: 30px;
    height: 2px;
    margin-bottom: 5px;
    background-color: var(--thm-white);
    transition: 0.5s all;
    position: relative;
}

.header .hamburger .hamburger_btn span:last-child {
    margin-bottom: 0;
}

.header .hamburger .hamburger_btn.active span:first-child {
    transform: rotate(45deg);
    top: 4px;
}

.header .hamburger .hamburger_btn.active span:nth-child(2) {
    display: none;
}

.header .hamburger .hamburger_btn.active span:last-child {
    transform: rotate(-45deg);
    top: -3px;
}

/*banner*/
.mask-image {
    position: relative;
    overflow: hidden;
    z-index: 2;
}

.mask-image:before {
    content: '';
    background-image: var(--mask-image);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    pointer-events: none;
}

.mask-image.contain:before {
    background-size: contain;
}

.banner {
    margin-top: 15px;
    position: relative;
    overflow: hidden;
}

.banner.mask-image:before {
    z-index: 1;
}

.banner:after {
    content: '';
    background-color: var(--thm-bodybg);
    position: absolute;
    bottom: -60px;
    left: 0;
    right: 0;
    height: 115px;
    width: 100%;
    transform: skew(0deg,
        5deg);
}

.banner .banner_text {
    padding: 180px 0;
    text-align: center;
}

.banner .banner_text .title {
    font-size: 40px;
    margin-bottom: 15px;
    text-transform: uppercase;
}

.banner .banner_text .text {
    max-width: 80%;
    margin: 0 auto 20px;
}

.banner .banner_arrow_dots {
    position: absolute;
    left: 0;
    right: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    bottom: 130px;
    z-index: 10;
}

.banner .banner_arrow_dots .slick-arrows {
    position: relative;
    top: auto;
    bottom: 0;
    left: 0;
    right: 0;
    background: transparent;
    border: none;
    color: var(--thm-white);
    width: auto;
    height: auto;
    border-radius: 0;
    margin: 0 20px;
    cursor: pointer;
}

.banner .banner_arrow_dots .slick-arrows:before {
    font-size: 30px;
}

.banner .banner_arrow_dots .slick-arrows:hover {
    color: var(--thm-color-one);
}

.banner .banner_arrow_dots .banner_dots .slick-dots {
    margin-top: 0;
}

.banner .banner_arrow_dots .banner_dots .slick-dots li button {
    width: auto;
    background: transparent;
    border: none;
    height: auto;
    font-size: 26px;
    color: var(--thm-white);
    border-radius: 0;
    font-weight: bold;
    margin: 0 8px;
}

.banner .banner_arrow_dots .banner_dots .slick-dots li.slick-active button {
    color: var(--thm-color-one);
    font-size: 40px;
}

/*style_two*/
.banner.style_two:after {
    display: none;
}

.banner.style_two .section-bg:before {
    display: none;
}

.banner.style_two .banner_text {
    text-align: left;
    padding-bottom: 50px;
}

.banner.style_two .banner_text .title {
    font-size: 50px;
    font-weight: bold;
    margin-left: -90px;
}

.banner.style_two .banner_text .title span {
    display: flex;
    margin-left: 90px;
}

.banner.style_two .banner_text .text {
    margin-left: 0;
    font-size: 16px;
    border-left: 2px solid var(--thm-white);
    padding-left: 15px;
}

.banner.style_two .banner_arrow_dots {
    justify-content: flex-start;
    bottom: 180px;
}

.banner .video_btn {
    display: flex;
    justify-content: center;
    margin-top: 120px;
}

.video_btn>a {
    text-align: center;
    width: 100px;
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: 3px solid var(--thm-white);
}

.video_btn>a:hover {
    color: var(--thm-color-one);
    border-color: var(--thm-color-one);
}

/*subheader*/
.subheader {
    margin-top: 15px;
    padding: 100px 0;
}

.subheader .page-title {
    font-size: 48px;
    margin-bottom: 0px;
}

/*about*/
.about_image {
    padding-top: 30px;
    padding-left: 30px;
    position: relative;
    overflow: hidden;
    z-index: 1;
}

.about_image:before {
    content: '';
    width: calc(100% - 30px);
    height: calc(100% - 30px);
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
    background-color: var(--thm-color-one);
}

/*services*/
.service_box {
    background-color: var(--thm-color-two);
    position: relative;
    text-align: center;
    margin-bottom: 30px;
    transform: translateY(0);
    transition: 0.3s all;
    padding: 40px 20px;
    z-index: 1;
}

.service_box:before {
    content: '';
    width: calc(100% - 30px);
    height: calc(100% - 30px);
    border: 5px solid var(--thm-color-one);
    position: absolute;
    left: 15px;
    top: 15px;
    z-index: -1;
    opacity: 0;
    visibility: hidden;
    transition: 0.3s all;
}

.service_box .icon {
    color: var(--thm-color-one);
    font-size: 75px;
    line-height: 1;
    margin-bottom: 20px;
}

.service_box .title {
    margin-bottom: 10px;
    font-size: 20px;
}

.service_box .text {
    max-width: 80%;
    margin: 0 auto 15px;
}

.service_box:hover {
    transform: translateY(-10px);
}

.team_block:hover .team_image:before,
.gallery_box:hover:before,
.program_box:hover:after,
.service_box:hover:before {
    opacity: 1;
    visibility: visible;
}

/*program*/
.program_box {
    height: 260px;
    transform: translateY(0);
    transition: 0.3s all;
    margin-bottom: 30px;
}

.team_block .team_image:before,
.gallery_box:before,
.pricing_box:after,
.program_box:after {
    content: '';
    width: calc(100% - 20px);
    height: calc(100% - 20px);
    border: 3px solid var(--thm-color-one);
    position: absolute;
    left: 10px;
    top: 10px;
    z-index: -1;
    opacity: 0;
    visibility: hidden;
    transition: 0.3s all;
}

.program_box .program_text {
    text-align: center;
    transform: translateY(10px);
    transition: 0.3s all;
}

.program_box .program_text .thm-btn {
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: 0.3s all;
}

.gallery_box:hover,
.program_box:hover {
    transform: translateY(15px);
}

.program_box:hover .program_text,
.program_box:hover .program_text .thm-btn {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/*gallery*/
.gallery_box {
    transform: translateY(0);
    transition: 0.3s all;
    margin-bottom: 30px;
    z-index: 1;
    position: relative;
    overflow: hidden;
}

.team_block .team_image:before,
.gallery_box:before {
    z-index: 0;
    pointer-events: none;
}

.gallery_box .gallery_icon {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    background-color: rgb(var(--thm-color-two-rgb), .2);
    transform: translateY(10px);
    transition: 0.3s all;
    opacity: 0;
    visibility: hidden;
}

.gallery_box:hover .gallery_icon {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/*trainer*/
.trainer_box {
    width: 100%;
    position: relative;
    background-color: var(--thm-color-two);
    display: flex;
    height: calc(100% - 30px);
    margin-bottom: 30px;
    align-items: center;
    transition: 0.3s all;
}

.trainer_box:before {
    content: '';
    border: 3px solid var(--thm-color-one);
    height: calc(100% - 70px);
    width: 110px;
    position: absolute;
    left: 85px;
    opacity: 0;
    visibility: hidden;
    transition: 0.3s all;
}

.trainer_box .trainer_image {
    width: 180px;
    height: 100%;
}

.trainer_box .trainer_text {
    padding: 0 30px;
    width: calc(100% - 180px);
}

.trainer_box .trainer_text .title,
.trainer_box .trainer_text .text {
    transition: 0.3s all;
}

.trainer_box .trainer_text .social_icons {
    display: flex;
}

.trainer_box .trainer_text .social_icons li {
    margin-right: 15px;
}

.trainer_box:hover .trainer_text .title>a:hover,
.trainer_box .trainer_text .social_icons li a {
    color: var(--thm-color-one);
}

.trainer_box:hover {
    background-color: var(--thm-white);
}

.pricing_box:hover:after,
.trainer_box:hover:before {
    opacity: 1;
    visibility: visible;
}

.trainer_box:hover .trainer_text .title>a,
.trainer_box:hover .trainer_text .text {
    color: var(--thm-color-two);
}

/*team*/
.team_block {
    position: relative;
    margin-bottom: 30px;
    transform: translateY(0);
    transition: 0.3s all;
}

.team_block .team_image {
    position: relative;
    overflow: hidden;
}

.team_block .team_image:before {
    width: calc(100% - 30px);
    height: calc(100% - 30px);
    left: 15px;
    top: 15px;
}

.team_block .team_image .thm-btn {
    top: 60%;
    left: 50%;
    transform: translate(-50%, -50%);
    opacity: 0;
    visibility: hidden;
    transition: 0.3s all;
}

.team_block .team_caption {
    text-align: center;
    padding: 20px;
    border: 1px solid var(--thm-color-two);
    border-top: 0;
}

.team_block .desig {
    margin-bottom: 5px;
    color: var(--thm-body-color);
    font-weight: 600;
}

.team_block .name {
    margin-bottom: 10px;
    font-weight: 500;
    font-size: 20px;
}

.team_block .team_social {
    display: flex;
    justify-content: center;
}

.team_block .team_social li {
    margin: 0 20px;
}

.team_block .team_social li a {
    color: var(--thm-color-one);
}

.team_block .team_social li a:hover {
    color: var(--thm-white);
}

.team_block:hover .team_image .thm-btn {
    opacity: 1;
    visibility: visible;
    top: 50%;
}

.team_block:hover {
    transform: translateY(15px);
}

/*offer*/
.offer_text {
    padding: 0 15px;
}

.offer_text .subtitle,
.offer_text .title,
.offer_text .action {
    color: var(--thm-color-two);
    margin-bottom: 0;
    text-transform: uppercase;
    line-height: 1;
    font-weight: 900;
}

.offer_text .title {
    font-size: 9.2vw;
}

.offer_text .action {
    font-style: italic;
}

.offer_text .action a {
    color: var(--thm-color-one);
    text-decoration: underline;
}

.offer_text .action a:hover {
    color: var(--thm-color-two);
}

/*pricing*/
.pricing_box {
    background-color: var(--thm-color-two);
    padding: 30px 15px;
    margin-bottom: 30px;
    position: relative;
    overflow: hidden;
    transform: translateY(0);
    transition: 0.3s all;
    text-align: center;
}

.pricing_box .main_price {
    display: flex;
    align-items: center;
    position: relative;
    justify-content: center;
    padding-bottom: 15px;
    margin-bottom: 20px;
}

.pricing_box .main_price:after {
    content: '';
    height: 2px;
    width: 40px;
    display: flex;
    background-color: var(--thm-color-one);
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    bottom: 0;
}

.pricing_box .main_price .price {
    line-height: 1;
    font-size: 55px;
    margin-right: 10px;
}

.pricing_box .main_price .sub_text {
    text-align: left;
    line-height: 1.2;
}

.pricing_box .main_price .sub_text p {
    font-size: 20px;
    font-weight: bold;
    color: var(--thm-color-one);
}

.pricing_box .main_price .sub_text p+p {
    color: var(--thm-white);
    font-weight: 600;
}

.pricing_box .includes {
    max-width: 95%;
    margin: 0 auto 20px;
}

.pricing_box .includes li {
    border-bottom: 1px solid var(--thm-border);
    line-height: 2.6;
    font-size: 14px;
}

.pricing_box .includes li:last-child {
    border-bottom: 0;
}

.pricing_box:hover {
    transform: translateY(-10px);
}

/*testimonial*/
.testimonials:before {
    z-index: 2;
}

.testimonial_item {
    text-align: center;
    position: relative;
    max-width: 600px;
    margin: 0 auto;
    font-size: 16px;
}

.testimonial_item .testimonial_author img {
    border-radius: 50%;
    border: 3px solid var(--thm-color-one);
    margin: 0 auto 20px;
    width: 80px;
}

.testimonial_item .testimonial_author .author_name {
    text-transform: uppercase;
}

.testimonial_item .testimonial_author .author_post {
    color: var(--thm-color-one);
    margin-bottom: 20px;
    font-weight: 500;
    font-size: 14px;
}

/*blog*/
.post {
    position: relative;
    overflow: hidden;
    margin-bottom: 30px;
    background-color: var(--thm-color-two);
}

.post.post_grid {
    transition: 0.3s all;
    transform: translateY(0);
}

.post .post_image {
    position: relative;
    overflow: hidden;
    height: 225px;
}

.post .post_caption {
    padding: 20px;
}

.post .post_meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    border-bottom: 1px solid var(--thm-border);
    margin-bottom: 10px;
}

.post .post_meta li {
    margin-bottom: 8px;
    margin-right: 20px;
    font-size: 12px;
}

.post .post_meta li i {
    color: var(--thm-color-one);
    margin-right: 5px;
}

.post .post_meta li a:after {
    content: ', ';
    margin-left: -1px;
    margin-right: 2px;
}

.post .post_meta li a:last-child:after {
    display: none;
}

.post .post_title {
    margin-bottom: 12px;
    font-size: 22px;
    position: relative;
}

.post.post_grid:hover {
    transform: translateY(15px);
}

/*sidebar*/
.sidebar .sidebar_inner {
    margin-bottom: 80px;
}

.sidebar .sidebar_inner .sidebar_widget {
    margin-bottom: 30px;
    position: relative;
    overflow: hidden;
    padding: 20px;
    background-color: var(--thm-color-two);
    box-shadow: 0px 0px 10px 0px rgb(var(--thm-color-two-rgb), 15%);
}

.sidebar .sidebar_inner .sidebar_widget:last-child {
    margin-bottom: 0;
}

.sidebar .sidebar_inner .sidebar_widget .widget_title {
    line-height: normal;
    margin-bottom: 20px;
    font-family: var(--thm-b-font);
    font-size: 18px;
    color: var(--thm-color-one);
    padding: 0px 0 15px;
    position: relative;
    font-weight: 500;
}

.sidebar .sidebar_inner .sidebar_widget .widget_title:after {
    content: '';
    width: 40px;
    height: 2px;
    background-color: var(--thm-color-one);
    position: absolute;
    display: flex;
    bottom: 0;
}

.sidebar .input-group .form-control {
    border-right: none;
    height: 45px;
    border-radius: 0;
    background-color: transparent;
    border: 1px solid var(--thm-white);
    border-right: 0;
}

.sidebar .input-group .form-control,
.sidebar .input-group .form-control::placeholder {
    color: var(--thm-white);
    font-weight: 500;
}

.sidebar .input-group button {
    width: 45px;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    background-color: var(--thm-color-one);
    color: var(--thm-color-two);
    border-radius: 0;
}

.sidebar .input-group button:hover {
    background-color: var(--thm-white);
    color: var(--thm-color-two);
}

.sidebar .input-group .with_text button {
    width: auto;
    padding: 0 30px;
}

.sidebar .categories li a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 14px;
    color: var(--thm-white);
    font-weight: 500;
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--thm-border);
}

.sidebar .categories li:hover a {
    color: var(--thm-color-one);
}

.sidebar .categories li:last-child>a {
    margin-bottom: 0;
    line-height: normal;
    border-bottom: 0;
    padding-bottom: 0;
}

.sidebar .tags_cloud {
    margin-bottom: -15px;
}

.post_details .post_tags_share .post_tags .tags a,
.sidebar .tags_cloud a {
    display: inline-flex;
    border: 1px solid var(--thm-white);
    color: var(--thm-white);
    background-color: transparent;
    font-size: 14px;
    font-weight: 500;
    padding: 5px 22px;
    margin-right: 8px;
    margin-bottom: 12px;
}

.post_details .post_tags_share .post_tags .tags a:hover,
.sidebar .tags_cloud a:hover {
    background-color: var(--thm-color-one);
    border-color: var(--thm-color-one);
    color: var(--thm-white);
}

.sidebar .recent_post li {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
}

.sidebar .recent_post li .post_thumb {
    width: 80px;
    height: 80px;
    margin-right: 15px;
    position: relative;
}

.sidebar .recent_post li .post_thumb:before {
    content: '';
    border: 2px solid var(--thm-color-one);
    transition: 0.3s all;
    position: absolute;
    top: 5px;
    left: 5px;
    width: calc(100% - 10px);
    height: calc(100% - 10px);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.sidebar .recent_post li:hover .post_thumb:before {
    opacity: 1;
    visibility: visible;
}

.sidebar .recent_post li .post_thumb a {
    display: flex;
    height: 100%;
    width: 100%;
}

.sidebar .recent_post li .post_caption {
    width: calc(100% - 95px);
}

.sidebar .recent_post li .post_caption .post_title {
    margin-bottom: 0;
    font-size: 16px;
}

.sidebar .recent_post li .post_caption .post_date {
    margin-bottom: 0;
    color: var(--thm-color-one);
    font-weight: 500;
    font-size: 14px;
}

.sidebar .recent_post li:last-child {
    margin-bottom: 0;
}

/*blog details*/
.post.post_details .post_image {
    height: 450px;
}

.post.post_details .post_meta {
    margin-bottom: 15px;
}

.post.post_details .post_title {
    padding-bottom: 12px;
}

.post.post_details .post_title:after {
    content: '';
    width: 40px;
    height: 2px;
    background-color: var(--thm-color-one);
    position: absolute;
    display: flex;
    bottom: 0;
}

.post .post_description p {
    margin-bottom: 10px;
}

.post_details .post_tags_share {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 20px 0 0;
    padding: 20px 0 8px;
    border: 1px solid var(--thm-border);
    border-left: 0;
    border-right: 0;
}

.post_details .post_tags_share .title {
    margin-bottom: 10px;
    font-size: 18px;
    display: inline-flex;
    flex-wrap: wrap;
    margin-right: 15px;
    color: var(--thm-color-one);
}

.post_details .post_tags_share .post_tags,
.post_details .post_tags_share .post_share,
.post_details .post_tags_share .post_tags .tags,
.post_details .post_tags_share .post_share .social {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
}

.post_details .post_tags_share .post_tags .tags a {
    font-size: 12px;
    padding: 3px 15px
}

.post_details .post_tags_share .post_share .social li a {
    margin-bottom: 12px;
}

.post_details .post_tags_share .post_share .social li+li {
    margin-left: 15px;
}

.comments .children {
    padding-left: 120px;
}

.comments .comment article {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 30px;
}

.comments .comment .comment_image {
    position: relative;
    overflow: hidden;
    margin-right: 20px;
    width: 100px;
    height: 100px;
}

.comments .comment .reply_btn {
    position: absolute;
    bottom: 0;
    left: 0;
    color: var(--thm-white);
}

.comments .comment .reply_btn:hover {
    color: var(--thm-color-two);
}

.comments .comment .comment_text {
    width: calc(100% - 120px);
}

.comments .comment .comment_text .title {
    font-size: 16px;
    margin-bottom: 0;
    display: inline-flex;
    margin-right: 15px;
}

.comments .comment .comment_text .comment_date {
    line-height: 1;
    background-color: var(--thm-color-one);
    width: fit-content;
    color: var(--thm-white);
    font-size: 14px;
    padding: 5px 15px;
    font-weight: 400;
    margin: 0px 0 10px;
    display: inline-flex;
}

.comments .comment .comment_text p {
    font-size: 12px;
    font-family: var(--thm-font);
}

.comments .comment .comment_text p:last-child {
    margin-bottom: 0;
}

.comment_box>.comments>.comment:last-child>article {
    margin-bottom: 0;
}

.bar_title {
    padding-bottom: 10px;
    position: relative;
}

.bar_title:after {
    content: '';
    width: 40px;
    height: 2px;
    background-color: var(--thm-color-one);
    position: absolute;
    display: flex;
    bottom: 0;
}

/*schedule_calendar*/
.schedule_calendar {
    background-color: var(--thm-color-two);
    border-top: 3px solid var(--thm-color-one);
}

.schedule_calendar .fc-toolbar.fc-header-toolbar {
    margin-bottom: 0;
}

.schedule_calendar .fc-toolbar-title {
    font-size: 22px;
    font-weight: 500;
    margin: 10px 0;
    text-transform: uppercase;
}

.schedule_calendar.fc-theme-standard th,
.schedule_calendar.fc-theme-standard .fc-scrollgrid {
    border: none;
}

.schedule_calendar.fc-theme-standard .fc-scrollgrid .fc-col-header th {
    background-color: var(--thm-bodybg);
    border: none;
    font-size: 14px;
    text-transform: uppercase;
    padding: 5px 0;
}

.schedule_calendar .fc-scroller table {
    margin-bottom: 0;
    width: 100% !important;
}

.schedule_calendar.fc-theme-standard td {
    background-color: transparent;
    border-color: var(--thm-border);
}

.schedule_calendar.fc-theme-standard td.fc-timegrid-divider,
.schedule_calendar .fc-scrollgrid-sync-table tbody tr:last-child {
    display: none;
}

.schedule_calendar .fc-scrollgrid-section {
    height: 0px;
}

.schedule_calendar.fc-theme-standard td.fc-timegrid-slot {
    height: 140px;
}

.schedule_calendar .fc-timegrid-col.fc-day-today {
    background-color: transparent;
}

.schedule_calendar.fc-direction-ltr .fc-timegrid-col-events {
    margin: 0;
}

.schedule_calendar .fc-timegrid-event .fc-event-main {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 10px;
}

.schedule_calendar .fc-v-event .fc-event-main-frame {
    height: auto;
    text-align: center;
    flex-direction: column-reverse;
}

.schedule_calendar .fc-timegrid-event {
    border-radius: 0;
    box-shadow: none;
    background-color: transparent;
    border: none;
}

.schedule_calendar .fc-v-event .fc-event-main-frame .fc-event-time {
    margin: 0;
    color: var(--thm-color-one);
    font-size: 12px;
    font-weight: 500;
}

.schedule_calendar .fc-v-event .fc-event-main-frame .fc-event-title {
    text-transform: uppercase;
    font-weight: 600;
    font-size: 18px;
    line-height: 1.2;
}

.schedule_calendar thead .fc-scroller {
    overflow: hidden !important;
}

/*newsletter*/
.newsletter_form .form-control:focus,
.newsletter_form .form-control::placeholder,
.newsletter_form .form-control {
    border-radius: 0;
    border: none;
    font-size: 14px;
    box-shadow: none;
}

.newsletter_form .form-control {
    padding: 4px 20px;
}

/*contact*/
.contact_map {
    padding-top: 80px;
    padding-left: 80px;
    position: relative;
    overflow: hidden;
    z-index: 1;
    margin-bottom: 30px;
}

.contact_map:before {
    content: '';
    width: calc(100% - 80px);
    height: calc(100% - 80px);
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
    background-color: var(--thm-color-one);
}

.contact_map .map {
    height: 100%;
    min-height: 450px;
}

.contact_map_info.footer .ft_menu li {
    margin-bottom: 15px;
}

/*footer*/
.footer .ft_widgets {
    position: relative;
    margin-bottom: 30px;
}

.footer .ft_widgets .ft_title {
    color: var(--thm-white);
    font-weight: 500;
    font-size: 20px;
    margin-bottom: 20px;
    padding-bottom: 10px;
    position: relative;
}

.footer .ft_widgets .ft_title:after {
    content: '';
    width: 40px;
    height: 2px;
    background-color: var(--thm-color-one);
    position: absolute;
    display: flex;
    bottom: 0;
}

.footer .ft_about p {
    margin-bottom: 15px;
    font-size: 13px;
    max-width: 80%;
}

.footer .ft_social {
    display: flex;
}

.footer .ft_social li {
    margin-right: 10px;
}

.footer .ft_menu li {
    margin-bottom: 5px;
    line-height: 1.8;
}

.footer .ft_menu li>a {
    display: flex;
    align-items: center;
}

.footer .ft_menu li>a:before {
    content: "\f054";
    font-family: var(--thm-icon-font);
    font-size: 12px;
    margin-right: 8px;
}

.footer .ft_menu li:last-child {
    margin-bottom: 0;
}

.footer .ft_contact li>a i {
    color: var(--thm-color-one);
    margin-right: 8px;
}

.footer .ft_contact li>a:before {
    display: none;
}

.footer .ft_recent_news li {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
}

.footer .ft_recent_news .thumb_image {
    width: 60px;
    height: 60px;
    position: relative;
    margin-right: 15px;
}

.footer .ft_recent_news li .thumb_image:before {
    content: '';
    border: 2px solid var(--thm-color-one);
    transition: 0.3s all;
    position: absolute;
    top: 5px;
    left: 5px;
    width: calc(100% - 10px);
    height: calc(100% - 10px);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.footer .ft_recent_news li:hover .thumb_image:before {
    opacity: 1;
    visibility: visible;
}

.footer .ft_recent_news .thumb_text {
    width: calc(100% - 75px);
}

.footer .ft_recent_news .thumb_text p {
    margin: 0;
    font-size: 12px;
    font-weight: 500;
}

.footer .ft_recent_news li:last-child {
    margin-bottom: 0;
}

/*copyright*/
.copyright {
    border-top: 1px solid var(--thm-border);
}

.copyright p {
    color: var(--thm-white);
    padding: 12px 0;
    line-height: normal;
    font-size: 14px;
}

/*back to top*/
.back-to-top {
    width: 40px;
    height: 40px;
    border: 2px solid var(--thm-color-one);
    display: none;
    align-items: center;
    justify-content: center;
    border-radius: 0px;
    color: var(--thm-white);
    font-size: 22px;
    position: fixed;
    bottom: 30px;
    right: 30px;
    background-color: var(--thm-color-one);
    transition: 0.3s all;
    z-index: 100;
}

.back-to-top:hover {
    color: var(--thm-color-two);
    background-color: var(--thm-white);
    border-color: var(--thm-white);
}