* {margin:0; padding:0;}
html, body {
    height: 100%;
    min-height: 100vh;
    min-width: 230px;
    width: 100%;
    margin: 0;
    padding: 0;
    font-family: Arial, sans-serif;
    line-height: 1.6;
}

BODY {
    background-repeat: no-repeat;
    display: flex;
    flex-direction: column;
}

DIV#globaldiv {
    width: 100%;
    flex: 1 0 auto;
}

TABLE#primarytable {
    width: 100%;
    border-collapse: collapse;
    margin: 0;
    padding: 0;
    border: 1px double #b8f895;
    height: 100%; /* Важно для растягивания */
}

/* ХЕДЕР - сохраняем оригинальные стили */
.headroomtd {
    width: 100%;
    padding-top: 14.5%; /* Сохраняем пропорции */
    border-collapse: collapse;
    background-color: #1b2024;
    background-image: url('/img/header_1920_275.jpg');
    background-repeat: no-repeat;
    background-size: 100% 100%;
    overflow: hidden;
    vertical-align: bottom;
    height: 1px; /* Фиксируем высоту */
}

/* Меню - без изменений */
.primarylinksroomtd {
    width: 100%;
    border: 1px double #b8f895;
    border-collapse: collapse;
    background-color: #ccffcc;
}

/* ОСНОВНАЯ КОНТЕНТНАЯ ОБЛАСТЬ - растягиваем */
.mediumroomtd {
    width: 100%;
    border: 1px #b8f895;
    border-collapse: collapse;
    background-color: white;
    height: 100%; /* Занимает все доступное пространство */
    min-height: 300px; /* Минимальная высота контента */
}

div.mediumroomtext {
    width: 100%;
    height: 100%; /* Занимает всю высоту ячейки */
    background-color: #ffffff;
}

div.textroom {
    padding: 0px 20px;
    height: 100%; /* Наследуем высоту */
    display: flex;
    flex-direction: column;
}

div.maintext {
    width: 100%;
    box-sizing: border-box;
    text-align: justify;
    font-size: 18px;
    font-family: "Times New Roman", serif;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    -o-user-select: none;
    user-select: none;
    flex: 1; /* Растягиваем контент на доступное пространство */
}

/* Футер - без изменений */
.footerroomtd {
    width: 100%;
    border-collapse: collapse;
    background-color: #ccffcc;
    border: 1px double #b8f895;
}

/* Остальные ваши стили остаются без изменений */
.middlemenyu {width: 100%; text-align: center; padding-top: 4px;}
.topmenu {width: 100px; float: left; margin-bottom:  6px;}
.topmenutext {font: 16px sans-serif; color: green;}
a.topmenulink {color: black; text-decoration: none;}
a.topmenulink:hover {font: black 11pt sans-serif; color: green;}

DIV.links_title_main {font-family: tahoma, "Trebuchet MS", arial, serif; color: #a8ba78; font-size: 14px; border: none; border-top: 1px solid #c0c0c0; background: #e3e6cf; TEXT-ALIGN: center;}

div.footermenyu {text-align: center; padding: 4px;}
font.footermenutext {font: bold italic 10pt sans-serif;}
a.footermenyulink {color: black; text-decoration: none;}
a.footermenyulink:hover {font: black bold italic 12pt sans-serif; color: green;}

div.copyright {text-align: center; width: 100%; height:auto; background-color: black; border-collapse: collapse;} 
.copyrighttext {display: inline-block; width: auto; font: bold italic 13px sans-serif; color: white; }

IMG {display: block;}