:root {
  --main_text_color: white;
  --additional_text_color: wheat;
  --list_text_size: 30px;
  --footer_bg_color: #1e3c61;
  --main_bg_color: #478ee6;
  --right_aside_bg_color: #014dad;
  --left_aside_bg_color: #0266e0;
  --nav_bg_color: #a1b5ce;
  --header_bg_color: #012c61;
}

.container {
  margin: 0;
  display: grid;
  min-height: 100vh;
  width: 100%;
  grid-template-columns: 25% 50% 25%;
  grid-template-rows: 100px 100px minmax(calc(100vh - 400px), min-content) 200px;
  grid-template-areas:
    'header header header'
    'left_aside navigation navigation'
    'left_aside main right_aside'
    'footer footer footer';
}

body {
  margin: 0 !important;
}

footer p {
  color: var(--additional_text_color);
  margin: 5px;
  margin-top: 15px;
  font-size: large;
}

main p {
  font-size: 50px;
  color: var(--main_text_color);
  margin: 10px;
}

.index_main p {
  font-size: 30px;
  color: var(--main_text_color);
  margin: 5px;
  text-indent: 20px;
}

.right_aside p {
  font-size: 600%;
  color: var(--main_text_color);
  margin: 20px;
  margin-top: 120px;
}

.left_aside p {
  color: var(--main_text_color);
  margin: 5px;
  margin-top: 50px;
  text-indent: 20px;
}

.contacts_gen_text {
  color: var(--main_text_color);
  margin: 10px;
  font-size: 25px;
}

.right_aside .ptext {
  color: var(--main_text_color);
  margin: 5px;
  font-size: xx-large;
}

.left_aside ul {
  font-size: var(--list_text_size);
  list-style-type: none;
  color: var(--additional_text_color);
  line-height: 70px;
}

.contact_list {
  list-style-type: none;
  color: var(--additional_text_color);
  line-height: 40px;
  font-size: var(--list_text_size);
}

header {
  overflow: hidden;
  background-color: var(--header_bg_color);
  grid-area: header;
}

nav {
  background-color: var(--nav_bg_color);
  grid-area: navigation;
  display: flex;
  justify-content: space-around;
}

nav a {
  margin: 12px;
  font-size: 50px;
  text-decoration: none;
}

nav a:hover {
  -webkit-transform: scale(1.2);
  -ms-transform: scale(1.2);
  transform: scale(1.2);
}

.left_aside {
  background-color: var(--left_aside_bg_color);
  display: flex;
  flex-direction: column;
  grid-area: left_aside;
}

.right_aside {
  background-color: var(--right_aside_bg_color);
  grid-area: right_aside;
}

main {
  background-color: var(--main_bg_color);
  grid-area: main;
}

menu {
  line-height: 50px;
  font-size: 20px;
  color: var(--main_text_color);
}

.logos {
  font-size: 50px;
  margin: 10px;
  margin-top: 40px;
  color: var(--main_text_color);
}

.leftimg {
  float: left;
}

footer {
  background-color: var(--footer_bg_color);
  grid-area: footer;
  overflow: hidden;
}

footer h2 {
  text-align: right;
}
