/* ----- Clubs content top ----- */
.content_wrapper {
    width: 100%;
}

.content_wrapper__background {
    height: 975px;
    width: 100%;
    background-size: cover;
    position: absolute;
    z-index: 0;
    top: 0px;
}

.content_wrapper__background::after {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    width: 975px;
    height: 100%;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, #000000 100%);
    rotate: 270deg;
}

.content_wrapper__background::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 206px;
    background: linear-gradient(0deg, rgba(0, 0, 0, 0) 0%, #000000 100%);
    rotate: 180deg;
}

.content_list {
    display: flex;
    position: relative;
    max-width: 1680px;
    margin: auto;
    align-items: flex-end;
    justify-content: space-between;
    color: #FFFFFF;
    font-family: "Cygre Medium-Medium", Helvetica;
    font-weight: 500;
    height: auto;
}

.content_list .text-wrapper {
    font-weight: 500;
    font-size: 40px;
    line-height: 100%;
    letter-spacing: -1px;
}

.content_list .region {
    font-size: 170px;
    line-height: 135px;
    letter-spacing: -4px;
    margin-bottom: 66px;
}

.content_list .content_element {
    padding-left: 22px;
    font-size: 30px;
    line-height: 39px;
    cursor: pointer;
    position: relative;
    padding-right: 22px;
    z-index: unset;
    text-transform: lowercase;
    display: inline-block;
}

.content_list .content_element::first-letter {
    text-transform: uppercase;
}

.content_list .content_element::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    clip-path: polygon(5% 0%, 100% 0%, 95% 100%, 0% 100%);
    background: linear-gradient(90deg, #D74548 0.6%, #C83670 1.63%, #A93890 2.65%, #7F388C 3.68%, #523671 4.7%);
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: -1;
    /* градиент под текстом */
    pointer-events: none;
}

.content_list .content_element:hover::before {
    opacity: 1;
}

.content_list .content_element img {
    opacity: 0;
    visibility: hidden;
    position: absolute;
    pointer-events: none;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    right: 75%;
    top: 100%;
    transform: translateY(-50%);
    display: block;
    width: 372px;
    height: 248px;
    z-index: -2;
    /* картинка позади всего, включая градиент */
}

.content_list .content_element:hover img {
    opacity: 1;
    visibility: visible;
}

.content_element_list {
    display: flex;
    flex-direction: column;
    gap: 17px;
    padding: 48px 80px 127px 0px;
    position: relative;
    height: 885px;
    z-index: 5;
    /* список поверх картинки */
}

/* ------------------------------ WOMENS CLUB ------------------------------ */
.womens_club {
    padding-top: 90px;
    position: relative;
    background: #FFFFFF;
    height: 975px;
}

/* menu styles */
.womens_club .header_wrap_container {
    margin: 0 auto;
}

.womens_club .navigation-link {
    position: relative;
    width: fit-content;
    font-family: "Cygre Medium-Medium", Helvetica;
    font-weight: 500;
    color: #1E1E1E;
    font-size: 16px;
    letter-spacing: -0.48px;
}

.womens_club .phone-number {
    align-content: center;
}

.womens_club .phone-number a {
    font-family: "Cygre Medium-Medium", Helvetica;
    font-weight: 500;
    font-size: 20px;
    letter-spacing: -0.40px;
    line-height: normal;
    color: #1E1E1E;
}

/* //// menu styles //// */

.womens_club__content {
    position: relative;
    display: flex;
    flex-direction: column;
    max-width: 1680px;
    margin: 0 auto;
    padding: 22px;
    font-family: "Cygre Medium-Medium", Helvetica;
    gap: 30px;
}

.womens_club__content div {
    max-width: 1100px;
    z-index: 10;
}

.womens_club__title_text {
    font-size: 100px;
    line-height: 132px;
    text-box-trim: trim-end;
    margin: 0;
    color: #1E1E1E;
}

.womens_club__title_description {
    font-size: 30px;
    color: #D9D9D9;
    margin-top: 8px;
}

.womens_club__descriptions {
    display: flex;
    flex-wrap: wrap;
    gap: 26px;
    margin: 28px 0;
    font-size: 20px;
}

.womens_club__element_description {
    flex: 1 1 500px;
    font-size: 20px;
    font-weight: 500;
}

.womens_club__pricelist_title {
    font-size: 16px;
    color: #D9D9D9;
    margin-bottom: 12px;
}

.womens_club__pricelist_table {
    width: 1016px;
}

.womens_club__pricelist_table table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 20px;
}

.womens_club__pricelist_table th {
    color: white;
    padding: 12px;
    text-align: center;
    font-size: 16px;
    border-bottom: 1px solid #ddd;
}

.womens_club__pricelist_table td {
    padding: 12px;
    text-align: center;
    border-bottom: 1px solid #eee;
    color: #1E1E1E;
}

.womens_club__pricelist_table tr:first-child {
    background: linear-gradient(90deg, #D74548 0%, #C83670 25%, #A93890 50%, #7F388C 75%, #523671 100%);
}

.womens_club__pricelist_table tr:nth-child(even) {
    background: #f9f9f9;
}

.womens_club__button {
    display: inline-block;
    padding: 20px 44px;
    background: linear-gradient(90deg, #D74548 0%, #C83670 25%, #A93890 50%, #7F388C 75%, #523671 100%);
    color: #FFFFFF;
    text-decoration: none;
    font-size: 20px;
    cursor: pointer;
    font-weight: 500;
}

.womens_club__content .womens_club__element_img {
    position: absolute;
    right: 0;
    z-index: 1;
    /* max-width: 305px; */
}

.womens_club__element_img img {
    width: 100%;
    max-width: 538px;
    height: auto;
    border-radius: 10px;
    margin-top: 20px;
    object-fit: cover;
}

.womens_club__descriptions,
.womens_club__pricelist,
.womens_club__element_img,
.womens_club__element_button {
    flex: 1;
}

/* //------------------------------ WOMENS CLUB -----------------------------  */

/* ---------------------------------- TIMETABLE ------------------------------ */

.timetable {
    background: #FFFFFF;
    display: block;
    position: relative;
    margin: auto;
}

#sect-timetable {
    max-width: 1680px;
    margin: auto;
}

.timetable .h2 {
    font-size: 100px;
    color: #1E1E1E;
    font-family: "Cygre Medium-Medium", Helvetica;
}


/* //---------------------------------- TIMETABLE ------------------------------ */

/* ---------------------------------- WATERPOOL ------------------------------ */

.waterpool {
    background: #FFFFFF;
    padding-top: 120px;
    height: 975px;
    display: flex;
    flex-direction: column;
}

.waterpool_wrap {
    position: relative;
    max-width: 1680px;
    margin: auto;
    width: 100%;
}

.waterpool_title {
    height: 181px;
}

.waterpool .h2 {
    font-size: 100px;
    color: #1E1E1E;
    font-family: "Cygre Medium-Medium", Helvetica;
}

.waterpool_title__wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.waterpool_title__description {
    font-family: "Cygre Medium-Medium", Helvetica;
    font-weight: 500;
    font-size: 30px;
    line-height: 48px;
    letter-spacing: -1px;
    color: #D9D9D9;
}

.waterpool_label__description {
    font-family: "Cygre Medium-Medium", Helvetica;
    font-weight: 500;
    font-size: 40px;
    line-height: 65px;
    letter-spacing: -1px;
    color: #523671;
    text-align: center;
}

.waterpool_img__main {
    height: 658px;
    overflow: hidden;
}

.waterpool_img__main img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* //---------------------------------- WATERPOOL ------------------------------ */

/* ---------------------------------- coaches ------------------------------ */
.coaches {
    background: #1E1E1E;
    height: 975px;
    padding-top: 120px;
}

.coaches_wrap {
    display: block;
    position: relative;
}

.coaches_title {
    height: 181px;
}

.coaches .h2 {
    font-size: 100px;
    color: #FFFFFF;
    font-family: "Cygre Medium-Medium", Helvetica;
}

.coaches_title__description {
    font-family: "Cygre Medium-Medium", Helvetica;
    font-weight: 500;
    font-size: 30px;
    line-height: 48px;
    letter-spacing: -2%;
    color: #D9D9D9;
}

.coaches_title__wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 1680px;
    margin: auto;
}

.coaches_slider__right,
.coaches_slider__left,
.slider_control__right,
.slider_control__left {
    cursor: pointer;
}

/* //---------------------------------- coaches ------------------------------ */

/* ---------------------------------- gallery ------------------------------ */
.gallery {
    background: #1E1E1E;
    height: 975px;
    padding-top: 120px;
}

.gallery_wrap {
    display: block;
    position: relative;
    max-width: 1680px;
    margin: auto;
}

.gallery_title {
    margin-bottom: 23px;
    height: 181px;
}

.gallery .h2 {
    font-size: 100px;
    color: #FFFFFF;
    font-family: "Cygre Medium-Medium", Helvetica;
}

.gallery_title__description {
    font-family: "Cygre Medium-Medium", Helvetica;
    font-weight: 500;
    font-size: 30px;
    line-height: 48px;
    letter-spacing: -1px;
    color: #D9D9D9;
}

.gallery_title__wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* //---------------------------------- gallery ------------------------------ */

/* ---------------------------------- howfindus ------------------------------ */

.howfindus {
    height: 975px;
    background: #1E1E1E;
    padding-top: 120px;
}

.howfindus_wrap {
    background: #1E1E1E;
    display: block;
    position: relative;
    max-width: 1680px;
    margin: auto;
}

.howfindus_title {
    margin-bottom: 23px;
    height: 181px;
}

.howfindus .h2 {
    font-size: 100px;
    color: #FFFFFF;
    font-family: "Cygre Medium-Medium", Helvetica;
}

.howfindus_title__description {
    font-family: "Cygre Medium-Medium", Helvetica;
    font-weight: 500;
    font-size: 30px;
    line-height: 48px;
    letter-spacing: -1px;
    color: #D9D9D9;
}

.howfindus_title__wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.howfindus_img__main img {
    width: 100%;
    height: 500px;
    object-fit: cover;
}

.mobile-submenu-toggle {
    display: none;
}

/* //---------------------------------- howfindus ------------------------------ */

/* Adaptive */

@media (max-width:1024px) {

    .header_wrap .tablet_menu .navigation-container.is-open {
        background: #000000bd;
    }

    .mobile-submenu-toggle {
        display: block;
    }

    .main_container_wrap h2.h2 {
        font-size: 60px;
    }

    #sect-timetable,
    .waterpool_wrap,
    .coaches_wrap,
    .gallery_wrap,
    .howfindus_wrap {
        max-width: 734px;
        margin: auto;
    }

    .womens_club {
        padding-top: 80px;
        height: auto;
    }

    .womens_club__title_text {
        line-height: normal;
    }

    .womens_club__content {
        max-width: 734px;
        flex-direction: column;
        align-items: flex-start;
        gap: unset;
        padding: unset;
    }

    .womens_club__content div {
        max-width: unset;
    }

    .womens_club__content .womens_club__element_img {
        max-width: 300px;
    }

    .womens_club__title_description {
        font-size: 18px;
    }

    .womens_club__descriptions {
        flex-direction: column;
        gap: 20px;
    }

    .womens_club__element_description {
        flex: none;
        width: 100%;
        font-size: 16px;
    }

    .womens_club__element_img img {
        max-width: 100%;
        height: auto;
    }

    .womens_club .womens_club__pricelist {
        max-width: 734px;
        width: 100%;
        order: 4;
    }

    .womens_club__pricelist_title {
        margin-top: 23px;
    }

    .womens_club__element_button {
        order: 3;
    }

    .womens_club__pricelist_table {
        max-width: 734px;
        width: 100%;
    }

    .womens_club__pricelist_table table {
        margin-bottom: unset;
    }

    .timetable {
        margin-top: -20px;
    }

    .waterpool {
        padding-top: 40px;
        padding: unset;
        height: auto;
    }

    .waterpool_wrap {
        margin-bottom: 20px;
        padding-top: 20px;
    }

    .waterpool_title {
        height: auto;
    }

    .waterpool_title__wrap {
        align-items: unset;
    }

    .waterpool_title__description {
        font-size: 18px;
    }

    .waterpool_label__description {
        font-size: 32px;
    }

    .coaches {
        height: auto;
        padding-top: 80px;
    }

    .coaches .coaches_slider {
        height: auto;
    }

    .coaches .coaches_slide {
        height: 221px;
    }

    .gallery {
        height: auto;
        padding-top: 80px;
    }

    .gallery_slider {
        height: 268px;
    }

    .gallery_slide {
        width: 50%;
        height: 268px;
    }

    .gallery_slide.visible.next {
        transform: translateX(calc(-50% + 245px)) scale(0.634);
    }

    .gallery_slide.visible.prev {
        transform: translateX(calc(-50% - 245px)) scale(0.634);
    }

    .howfindus {
        height: auto;
    }

    .content_list {
        max-width: 734px;
        height: calc(100vh - 90px);
        align-items: unset;
    }

    .content_list .address {
        position: relative;
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
    }

    .content_list .region {
        font-size: 80px;
        margin-bottom: unset;
    }

    .content_list .text-wrapper {
        font-size: 20px;
    }

    .content_element_list {
        height: auto;
        padding: unset;
        margin-top: 20px;
    }

    .content_list .content_element {
        font-size: 16px;
    }

    .howfindus_img__main img {
        height: 400px;
    }

}

@media (max-width: 450px) {

    .womens_club__content,
    .content_element_list,
    #sect-timetable,
    .waterpool_wrap,
    .coaches_wrap,
    .gallery_wrap,
    .howfindus_wrap {
        max-width: 350px;
    }

    .main_container_wrap h2.h2 {
        font-size: 50px;
    }

    .content_list {
        flex-direction: column;
        height: auto;
    }

    .content_list .address {
        height: 100vh;
        max-height: 555px;
        padding-left: 16px;
    }

    .content_wrapper__background {
        height: 655px;
    }

    .content_wrapper__background::before,
    .content_wrapper__background::after {
        display: none;
    }

    .content_list::before,
    .content_list::after {
        content: '';
        background: linear-gradient(90deg, #D74548 0%, #C83670 25%, #A93890 50%, #7F388C 75%, #523671 100%);
        height: 12px;
        width: 100%;
    }

    .content_list::before {
        order: 1;
    }

    .content_list::after {
        order: 3;
    }

    .content_element_list {
        order: 2;
    }

    .content_list .content_element {
        padding-left: 16px;
    }

    .content_list .content_element img {
        right: unset;
        width: 300px;
        height: 200px;
        left: 50px;
        object-fit: cover;
    }

    .womens_club__title_text {
        font-size: 2.2rem;
    }

    .womens_club__title_description {
        font-size: 0.9rem;
    }

    .womens_club__descriptions {
        gap: 8px;
    }

    .womens_club__element_description {
        padding: 8px;
        font-size: 0.85rem;
    }

    .womens_club__pricelist_table table {
        font-size: 0.9rem;
    }

    .womens_club__pricelist_table th {
        padding: 15px 6px;
        font-size: 0.6rem;
    }

    .womens_club__pricelist_table td {
        padding: 8px;
    }

    .womens_club__element_button {
        width: 100%;
        margin-top: -3px;
    }

    .womens_club__button {
        width: 100%;
        text-align: center;
        font-size: 1rem;
    }

    .womens_club__content .womens_club__element_img {
        max-width: 350px;
        position: relative;
    }

    .womens_club__element_img img {
        max-width: 100%;
        height: auto;
    }

    .waterpool_title__wrap {
        flex-direction: column;
    }

    .waterpool_label__img svg {
        width: 100%;
        height: auto;
    }

    .coaches_title__wrap {
        flex-direction: column;
    }

    .coaches_title {
        height: auto;
    }

    .coaches_slider__control {
        width: 100%;
        align-items: center;
    }

    .coaches_slider__left svg,
    .coaches_slider__right svg {
        height: 40px;
    }

    .coaches .coaches_slider {
        height: 474px;
    }

    .coaches_slider_track {
        gap: 5px;
    }

    .coaches_slide {
        margin-right: unset;
        width: calc(50% - 5px);
    }

    .gallery_title__wrap {
        flex-direction: column;
    }

    .gallery_title {
        height: auto;
    }

    .slider_control__left svg,
    .slider_control__right svg {
        height: 40px;
    }

    .gallery_slider__control {
        width: 100%;
        align-items: center;
    }

    .gallery_slide {
        width: 80%;
        height: 100%;
    }

    .gallery_slide.visible.next {
        transform: translateX(calc(-50% + 110px)) scale(0.634);
    }

    .gallery_slide.visible.prev {
        transform: translateX(calc(-50% - 110px)) scale(0.634);
    }
}