html, body {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    height: 100%;
}

body {
    background: radial-gradient(#272727, #606060);
}

main {
    z-index: 10;
    position: relative;
}

a:hover {
    color: #ffffff;
}

.calculator-text-color {
    color: #dddddd !important;
}



/*--------------------------------------------------------Info--------------------------------------------------------*/
.info {
    background-color: #272727;
}

.accordion-body, .accordion-button {
    font-size: 19px;
    padding: 10px;
}

/*-----------------------------------------------------Calculator-----------------------------------------------------*/
.calculator-container {
    justify-content: center !important;
    align-items: center !important;
    justify-items: center !important;
}

.calculator-main-row {
    align-content: center;
    justify-content: center;
}

@media (max-width: 899px) {
    .calculator-main-col {
        padding-left: 20px;
        padding-right: 20px;
    }

    .calculator-desc {
        padding-left: 20px;
        padding-right: 20px;
    }
}

@media (min-width: 900px) {
    .calculator-main-col {
        padding-left: 70px;
        padding-right: 70px;
    }

    .calculator-desc {
        padding-left: 50px;
        padding-right: 50px;
    }
}

@media (min-width: 1200px) {
    .calculator-main-col {
        padding-left: 90px;
        padding-right: 90px;
    }

    .calculator-desc {
        padding-left: 70px;
        padding-right: 70px;
    }
}

@media (min-width: 1800px) {
    .calculator-main-col {
        padding-left: 140px;
        padding-right: 140px;
    }

    .calculator-desc {
        padding-left: 110px;
        padding-right: 110px;
    }
}

.calculator-desc {
    z-index: 10;
    justify-items: center;
    background-color: rgba(0, 0, 0, 0.5) !important;
    margin: 0;
}

.calculator-body {
    justify-content: center;
}

.calculator-row {
    width: 100%;
    margin: 0;
    justify-content: center;
    align-content: center;

}

.accordion-item {
    height: 100%;
}

.accordion-button {
    font-weight: 700;
}

.main-body {
    font-size: 20px;
}

.activity_select {
    justify-content: center;
    align-items: center;
}

.calc_btn, .calc_activity_btn {
    font-weight: 500;
    text-transform: uppercase;
    align-items: center;
    justify-content: center;
    display: flex;
    color: #fff;
    height: 100%;
    min-height: 55px;
    width: 100%;
    border: 1px solid #fff;
    padding: 5px;
    font-size: 19px;
}

.accordion, .accordion-item, .accordion-header, .accordion-button, .collapsed {
    border-radius: 10px !important;
}


.row_active {
    margin-top: 5px;
    margin-bottom: 5px;
}

#weight-span, #height-span, #age-span {
    height: 50px;
}

.enemy_row {
    justify-content: center;
    align-items: center;
}

.calc_desc {
    font-size: 24px;
    font-weight: 500;
    margin-bottom: 10px;
    margin-top: 10px;
    justify-content: center;
}

.pfc-element {
    justify-items: center;
    text-align: center;
}

.lfstyle_txt_main {
    font-size: 20px;
    font-weight: 500;
    margin-top: 0;
    margin-bottom: 5px;
}

.lfstyle_col {
    align-self: center;
}

.lfstyle_txt_sec {
    font-size: 16px;
    border-radius: 10px;
    background-color: #fff;
    margin: 0;
    padding: 5px;
    line-height: 18px;
}

.arrow-down, .arrow-right {
    color: white;
    padding: 3px;
    align-items: center !important;
    justify-self: center !important;;
    line-height: 26px;
    font-size: 30px;
}

@media (max-width: 991px) {
    .lfstyle_col {
        display: inline-grid;
    }

    .arrow-down {
        display: flex;
    }

    .arrow-right {
        display: none;
    }
}

@media (min-width: 992px) {
    .lfstyle_col {
        display: flex;
    }

    .arrow-down {
        display: none;
    }

    .arrow-right {
        display: flex;
    }
}


.invalid-feedback {
    display: none;
    margin: 0 0 0 0;
    font-size: 20px;
    font-weight: 500;
}


.invalid-feedback-gender, .invalid-feedback-enemy, .invalid-feedback-activity {
    display: none;
    margin: 0 0 0 0;
    font-size: 20px;
    font-weight: 500;
    color: #dc3545;
}


.calc_sub_btn {
    align-items: center;
    justify-content: center;
    display: flex;
    font-size: 22px;
    font-weight: 500;
    background-color: rgba(126, 206, 0, 0.70) !important;
    color: black;
    border: 1px solid black;
    height: 50px;
    width: 80%;
}

/*---------------------------------------------------ModalWindow------------------------------------------------------*/


.swal2-html-container[style] {
    display: contents;
!important;
    padding: 0 !important;
    margin: 0 !important;
}

.swal2-success {
    color: #28a745 !important;
    border-color: #28a745 !important;
}

.swal2-close {
    font-size: 50px;
    color: #191919;
}

.bmi-info,
.bmr-info,
.pfc-info {
    padding: 10px;
    margin: 0 0 10px;
    border-top: 3px solid white;
}

.bmi-scale {
    position: relative;
    display: flex;
    width: 100%;
    height: 8px;
    margin: 10px 0;
    border: 1px solid #191919;
    border-radius: 10px;
    overflow: hidden;
    background: linear-gradient(to right, rgba(133, 193, 233, 0.75) 25%, rgba(88, 214, 141, 0.75) 50%, rgba(244, 208, 63, 0.75) 75%, rgba(231, 76, 60, 0.75) 100%);
}

.scale-section {
    flex: 1;
    height: 100%;
}

/* Стили для фона модального окна */
.bmi-info-col {
    align-self: center;
}

#bmi-indicator {
    border-radius: 15% !important;
    width: 20px !important;
    height: 30px !important;
    background-color: #ffffff !important;
}

.bmi-indicator {
    position: absolute;
    top: -5px;
    width: 10px;
    height: 30px;
    background-color: black;
    border-radius: 50%;
    transform: translateX(-50%);
    transition: left 0.5s ease; /* Плавное перемещение индикатора */
    z-index: 2;
    cursor: pointer;
}

.bmi-productCategory {
    font-size: 18px;
    display: inherit;
    align-items: center;
}

.bmi-info-desc,
.bmr-info-desc,
.pfc-info-desc,
.products-info-desc,
.times-info-desc{
    justify-content: center;
    display: grid;
    width: 100%;
    background-color: white;
    border-radius: 10px;
    color: black !important;
}

.diet-info-text {
    padding: 0;
    font-size: 20px;
    font-weight: 500;
}

.bmi-desc, .bmr-desc, .desc {
    text-align: start;
    color: inherit;
    font-size: 18px;
    font-weight: 500;
}

.bmi-info-p,
.bmr-info-p {
    padding: 0;
    line-height: 16px;
    font-size: 17px;
}


.bmi-bmr-info-circle {
    display: flex;
    justify-content: center;
    align-items: center;
    align-self: center;
    text-align: center;
    width: 60px;
    height: 60px;
    border: 2px solid white;
    border-radius: 50%;
    padding: 4px;
    box-sizing: border-box;
}

.bmr-bmr-info-text {
    align-self: center;
    padding: 5px;
    color: #383838;
    margin: 0;
    font-size: 15px;
    font-weight: 600;
}


.bmi-info-level {
    padding: 0;
    text-align: start;
}

.bmi-info-scale {
    display: flex;
    flex-direction: column;
    align-items: start;
    gap: 10px;
}


.bmi-categories {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 10px;
}

.bmi-category {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 20px;
    font-weight: 500;
}

.color-box {
    width: 20px;
    height: 40px;
    border-radius: 5px;
    border: 1px solid white;
}

/*PFC Info*/

.pfc-info-title {
    margin: 0;
    padding: 0;
}

.pfc-info-body {
    text-align: center;
    align-items: center;
    justify-content: center;
    display: flex;
}

.pfc-text, .pfc-text-2 {
    align-items: center;
    align-self: center;
    margin: 0;
    padding: 0;
}

.pfc-text {
    font-weight: 500;
    font-size: 18px;
    color: #272727;
}

.pfc-text-2 {
    text-align: center;
    font-size: 15px;
    font-weight: 600;
    color: white;
}

.pfc-text-element {
    height: 60px;
    width: 60px;
    border-radius: 50%;
    margin: 5px;
    padding: 5px;
    border: 2px solid white;
    display: grid;
}

.calories-b {
    background-color: #dedede;
}

.proteins-b {
    background-color: #acffac;
}

.fats-b {
    background-color: #f3ffa2;
}

.carbs-b {
    background-color: #97b0fd;
}

/*--------------------------------------------------------Day--------------------------------------------------------*/
.diet {
    width: 100%;
    height: 150px;
    align-content: center;
    border-radius: 10px;
    background-image: url("/static/image/calculator-result-page.jpg");
}

.dietmaker-section-title {
    margin: 0;
    padding: 10px;
    color: #f1f1f1;
}

#show-dietmaker-form, #dietmaker-submit-btn {
    font-size: 25px;
    font-weight: 500;
    width: 65%;
    height: 65px;
    background-color: #7c7c7cb0;
}

#show-dietmaker-form {
    animation: glow 3s infinite; /* Применяем анимацию */
}

@keyframes glow {
    0%, 100% {
        box-shadow: 0 0 10px rgba(255, 255, 255, 0.5); /* Светлая тень */
    }
    50% {
        box-shadow: 0 0 20px rgba(255, 255, 255, 1); /* Яркая тень */
    }
}

/*Dietmaker form*/
/*List of categories*/
.product_list {
    width: 100%;
    padding: 0;
}

.product_category-selection {
    justify-items: center;
    color: #f1f1f1;
    display: grid;
    margin: 0;
    padding: 0;
}

.category {
    display: flex;
    justify-content: center;
    margin: 0;
    padding: 0;
}

.category_btn {
    text-align: center;
    padding: 0;
    width: 110px;
    height: 110px;
    border-radius: 50%;
}

.calc_category_img {
    padding: 5px 7px 7px 5px;
    width: 110px;
    height: 110px;
    border-radius: 50%;
}

ul {
    padding: 0;
}

.product_element {
    text-decoration: none;
    color: #000;
    font-size: 12px;
}

.btn-outline-success {
    --bs-btn-active-bg: #7ece00;
    --bs-btn-border-color: #7ece00;
}

/*----------------------------------------------------TimeToEat-------------------------------------------------------*/
.timeToEat {
    justify-items: center;
    padding: 0;
    margin: 0;
}

.time-to-eat_btn {
    --bs-btn-active-bg: #7ece00;
    --bs-btn-border-color: #7ece00;
    align-content: center;
    color: #f1f1f1;
    font-size: 22px;
    height: 100%;
    width: 100%;
}

.dietmaker-submit {
    margin: 0;
    padding: 10px;
}

#dietmaker-submit-btn {
    font-size: 20px;
    font-weight: 500;
    width: 100%;
    height: 55px;
}

/*Result*/
#loading-spinner {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1000;
    display: none;
}

.spinner {
    border: 12px solid #f1f1f1;
    border-top: 12px solid #7ece00;
    border-radius: 50%;
    width: 70px;
    height: 70px;
    animation: spin 2s linear infinite;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}


.footer-list-element {
    margin-left: 15px;
    display: inline-block;
}

/*calculator result*/

.bmi-scale {
    position: relative;
    width: 100%;
    height: 30px;
    background-color: #e0e0e0;
    border-radius: 10px;
    margin-top: 15px;
}

#bmi-indicator {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

#bmi-label {
    text-align: center;
    margin-top: 10px;
}

.color-box {
    display: inline-block;
    width: 20px;
    height: 20px;
    border-radius: 4px;
}

.color-box.underweight {
    background-color: rgba(133, 193, 233, 0.75);
}

.color-box.normal {
    background-color: rgba(88, 214, 141, 0.75);
}

.color-box.overweight {
    background-color: rgba(244, 208, 63, 0.75);
}

.color-box.obesity {
    background-color: rgba(231, 76, 60, 0.75);
}

.bmi-bmr .row {
    align-items: center;
}

.hidden {
    display: none;
}

.visible {
    display: block;
}

#spinner-overlay {
    z-index: 1050;
}



