Неправильное отображение при изменении величин

Есть код html:

<!DOCTYPE html>
<html lang="ru-RU">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Курсовая работа</title>
    <link rel="stylesheet" href="../Kursovaya/css/style.css">
</head>
<body>
    <div class="wrapper">
        <div class="header">
            <div class="menu">
                <ul>
                    <li><a href="#">Главная</a></li>
                    <li><a href="#">Страница</a></li>
                    <li><a href="#">О нас</a></li>
                </ul>
            </div>

            <div class="top">
                <div class="blogname">
                    <h1>Космос</h1>
                </div>
            </div>
            <div id="toggler"></div>
        </div>

        <div class="content">
            <div id="content">
                <div class="post">
                    <p>Автор: admin Опубликовано: 19 мая 2024</p>
                    <h1>Привет, мир!</h1>
                </div>
                
                <div class="commentary">
                    <h2>Это ваша первая запись</h2>
                    <p>Комментарии (1)</p>
                </div>              
            </div>

            <div id="sidebar">
                <ul>
                    <li class="search">
                        <form method="get">
                            Найти: <input type="text" name="s">
                            <input type="submit" value="Поиск">
                        </form>
                    </li>
                    <li class="categories">
                        <h2>Категории</h2>
                        <ul>
                            <li><a href="#">2024</a></li>
                            <li><a href="#">2023</a></li>
                            <li><a href="#">2022</a></li>
                        </ul>
                    </li>
                    <li>
                        <h2>Архивы</h2>
                        <ul>
                            <li><a href="#">Май 2024</a></li>
                            <li><a href="#">Апрель 2024</a></li>
                            <li><a href="#">Март 2024</a></li>
                            <li><a href="#">Февраль 2024</a></li>
                            <li><a href="#">Январь 2024</a></li>
                        </ul>
                    </li>
                    <li>
                        <h2>Рубрики</h2>
                        <ul>
                            <li><a href="#">Без рубрики</a></li>
                        </ul>
                    </li>
                    <li>
                        <h2>Мета</h2>
                        <ul>
                            <li><a href="#">Управление сайтом</a></li>
                            <li><a href="#">Войти</a></li>
                        </ul>
                    </li>
                    <li>
                        <h2>Ссылки</h2>
                        <ul>
                            <li><a href="#">.org</a></li>
                        </ul>
                    </li>
                </ul>
            </div>
            <div class="clear"></div>
        </div>

        <div id="footer">
            <img src="../Kursovaya/images/footer.png" alt="Footer Image" id="footer-img">
            <div class="footer-content">
                © 2024 - .ru <br>
                <span>Локализация:&nbsp; .ru: <a href="#" style="color:gray"></a>.&nbsp;
                <a href="#" title="Поисковое продвижение сайтов от Seone.ru" style="color:gray">поисковое продвижение сайта</a>,&nbsp;
                <a href="#" title="SEONE - поддержка сайтов" style="color:gray">поддержка сайтов</a></span>
            </div>
        </div>      
    </div>
</body>
</html>

Есть CSS-файл:

body {
    height: 100%;
    display: flex;
    justify-content: center;
    margin: 0;
    padding-top: 0px;
    background: #000 url(../images/body.gif);
    font-family: "Myriad web", Tahoma, Verdana, sans-serif;
    color: #fff;
    font-size: 13px;
}

img {
    border: 0;
    background-size: contain;
}

a {
    text-decoration: none
}

a:hover {
    color: #ffa200;
    text-decoration: none
}

.clear {
    clear: both;
}

.wrapper {
    margin: 0 0 10% 0;
    background: #000;
    background-repeat: no-repeat;
}

.header{
    height: 26%;
    width: 100%;
}

/* The Top */

.top {
    min-height: 18.38vh;
    background: url(../images/top.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

.blogname {
    float: left;
    width: 55%;
}

.blogname h1 {
    font-size: 35px;
    font-weight: bold;
    margin: 20px 0 0 50px;
    text-decoration: none;
    color: #fff;
    background-color: transparent;
}

#toggler {
    background: #000 url(../images/about.jpg);
    font-family: Tahoma, Verdana, "Myriad Web", Syntax, sans-serif;
    width: 76.9em;
    height: 30px;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

/* Menu */

.menu {
    margin: 7px 7px 0 7px;
    height: 15%;
    background: #121212;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

.menu ul {
    margin: 0;
    padding: 7px 20px;
    list-style: none;
}

.menu ul li {
    float: left;
    margin: 0;
    padding: 0;
}

.menu ul li:hover {
    background-color: transparent;
}

.menu ul li a:hover {
    background: #000 url(../images/menuhov.gif) repeat-x;
}

.menu ul li a {
    float: left;
    margin: 0 1px 0 0;
    font-size: 100%;
    font-weight: normal;
    text-decoration: none;
    padding: 5px 5px;
    font-size: 14px;
    color: #b2cf14;
}

/* The Content */
#content {
    width: 100%;
    margin: 0 0 3px 0;
    padding: 0 0;
    margin: 20px;
}

.content {
    display: flex;
    flex-direction: row;
}

.post p {
    color: white;
    background-color: #191919;
    padding: 5px; 
}

.post, .commentary {
    height: auto;
    padding: 5px;
    border-radius: 5px;
    min-height: 70px;
    background: linear-gradient(to bottom, #333, #111); 
    color: #bacf56;
}

.commentary h2 {
    color: #717375;
    background: #070707;
    margin: 0;
    padding: 30px;
}

.commentary p {
    margin-left: 10px;
}

.entry {
    display: block;
    margin: 0;
    padding: 5px 25px;
}

/* The Sidebar */

#sidebar {
    width: 14.6em;
    font-size: 12px;
    color: #333;
}

#sidebar ul {
    margin: 0;
    padding: 0;
    list-style-type: none;
}

#sidebar h2 {
    font-size: 16px;
    height: 24px;
    font-weight: bold;
    font-family: Tahoma, arial, sans-serif;
    padding: 5px 0px 0px 5px;
    background: #333;
    Margin: 10px 0 0 0;
    color: #ccc;
}

#sidebar a {
    display: block;
    line-height: 160%;
    padding: 4px 0 4px 0;
    color: #6e8900;
}

#sidebar ul li a {
    background: #111;
    padding-left: 10px;
}

/* --- FOOTER --- */

#footer {
    display: flex;
    align-items: center;
    padding: 10px 20px;
    background-color: #000; /* Добавим фоновый цвет для контраста */
    color: #fff;
    font-size: 10px;
    font-weight: normal;
    letter-spacing: 1px;
}

#footer-img {
    margin-right: 2px; /* Расстояние между изображением и текстом */
    height: auto; /* Высота изображения */
}

.footer-content {
    display: flex;
    flex-direction: column;
}

#footer a {
    color: #999;
    text-decoration: none;
}

/* Small screens */
@media (max-width: 768px) {
    .search input[name="s"] {
        width: 92%;
    }

    .wrapper {
        max-width: 90%;
    }

    .header{
        height: 22%;
        width: 100%;
        margin-bottom: 2%;
    }

    .top {
        height: 70%;
    }

    .menu {
        margin: 0;
    }
    
    .menu ul {
        padding: 7px 0;
    }

    .menu ul li a {
        padding: 5px 10px;
    }

    #toggler {
        width: 100%;
    }

    .blogname {
        width: 100%;
    }

    #content {
        width: 100%;
    }

    #sidebar {
        max-width: 100%;
        margin: 1% 3% 0 0;
    }

    #footer {
        padding: 5% 0 1% 0;
        text-align: center;
    }

    img {
        max-width: 100%;
        height: auto;
    }
}

/* Medium screens */
@media (min-width: 769px) and (max-width: 1024px) {
    .wrapper {
        width: 70%;
        max-width: 70%;
    }

    .menu {
        margin: 0;
    }

    .menu ul {
        padding: 7px 20px;
    }

    .menu ul li a {
        padding: 5px 5px;
    }

    #content {
        width: 100%;
    }

    #sidebar {
        width: 30%;
        margin: 10px 20px 0 0;
    }

    img {
        max-width:  100%; 
        height: auto;
    }

    #toggler {
        width: 100%;
    }

    #content {
        width: 100%;
    }
}

/* Large screens */
@media (min-width: 1025px) {
    .wrapper {
        max-width: 100%; 
    }

    .menu ul {
        padding: 7px 20px;
    }

    .menu ul li a {
        padding: 5px 5px;
    }

    #content {
        width: 78%;
    }

    #sidebar {
        width: 14.6em;
        margin: 10px 20px 0 0;
    }

    img {
        max-width: 100%;
        height: auto;
    }
}

Почему когда я меняю в top height с 18.38vh например на 70%, то ломается длина html? Как это можно исправить? (мне нужно задать все width и height именно в %, поэтому я не могу использовать ни px, ни em, ни vw/vh)

.top {
    height: 18.38vh;
    background: url(../images/top.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

Исходное изображение

Изображение при изменении величины


Ответы (0 шт):