@font-face {
  font-family: "Amatic SC";
  src: local("Amatic SC"), url("../fonts/AmaticSC-Regular.ttf");
  font-weight: normal;
}
@font-face {
  font-family: "Amatic SC";
  src: local("Amatic SC"), url("../fonts/AmaticSC-Bold.ttf");
  font-weight: bold;
}
html {
  max-width: 1920px;
  scroll-behavior: smooth;
  margin: auto;
}
* {
  box-sizing: border-box;
}
body {
  margin: 0;
  padding: 0;
  font-family: "Amatic SC", cursive;
  color: rgb(3, 15, 15);
  letter-spacing: 0.1em;
  background: url("../images/bg.webp") no-repeat fixed;
  background-size: cover;
}
/*////////////////////////////Навигация///////////////////////*/
.navigation {
  position: fixed;
  top: 7px;
  width: 100%;
  padding: 5px;
  font-size: 1.8em;
  letter-spacing: 0.5em;
  z-index: 500;
}
nav ul {
  padding: 0;
  list-style: none;
  letter-spacing: 0.1em;
}
nav a {
  color: #fff;
  text-decoration: none;
}
nav a:hover {
  color: rgb(3, 15, 15);
}
.active_page {
  color: rgb(3, 15, 15);
}
.top_menu {
  display: flex;
  margin: auto;
}
.top_menu > li {
  display: inline-block;
  width: 175px;
}
.submenu {
  position: absolute;
  transform: scaleY(0);
  transform-origin: 0 0;
  transition: 0.3s linear;
  line-height: 1.6em;
  border-radius: 3%;
}
ul.submenu {
  width: 175px;
  background-color: #ff7c7cce;
}
.top_menu > li:hover .submenu {
  transform: scaleY(1);
}
/*/////////////////////////Оглавление///////////////////////*/
.header {
  position: relative;
  top: 1vw;
  padding: 1.5vw 0 0.1vw 0;
  justify-content: center;
  background: url("../images/geometry.png") local;
  background-size: 25%;
}
.header,
.navigation {
  color: #fff;
  text-align: center;
  background-color: #ff7c7cce;
  box-shadow: 2px 0px 15px 7px #e9f0f3;
}
h1 {
  width: calc(50% + 130px);
  margin: 5px auto 0 auto;
  font-size: 5em;
  font-weight: bold;
  text-shadow: 8px -8px 9px black;
  background-color: rgba(156, 150, 150, 0.835);
  box-shadow: 5px -5px 18px 2px black;
}
h1 > a {
  padding: 0 20px;
  text-decoration: none;
  color: #fff;
}
h1 > a:hover {
  color: rgb(107, 106, 106);
  text-shadow: 4px -4px 6px white;
}
h1,
h2,
.hed,
rect,
.navigation,
.cover {
  display: flex;
  justify-content: center;
}
.rib {
  position: relative;
}
.ribbon {
  position: absolute;
  display: flex;
  left: -9px;
  top: 9px;
  width: calc(10% + 22px);
  height: calc(96% + 4px);
  background-color: rgb(163, 158, 158);
  box-shadow: 5px -5px 18px 2px black;
}
.ribbon:before {
  content: "";
  position: absolute;
  top: -9px;
  left: 0.1px;
  height: 0;
  width: 0;
  border-bottom: 9px solid rgb(65, 64, 64);
  border-left: 9px solid transparent;
}
.favicon {
  height: 83%;
  margin: auto auto 0.4vw auto;
  filter: saturate(75%) drop-shadow(8px -8px 5px black);
  transition: ease-in-out 0.2s;
}
.favicon:hover {
  animation: roll 3s ease-in 0s infinite normal;
}
@keyframes roll {
  0% {
    transform: rotateY(0deg);
  }
  25% {
    transform: rotateY(90deg);
    filter: saturate(75%) drop-shadow(-8px -8px 5px black);
  }
  50% {
    transform: rotateY(180deg);
    filter: saturate(75%) drop-shadow(-8px -8px 5px black);
  }
  75% {
    transform: rotateY(270deg);
    filter: saturate(75%) drop-shadow(8px -8px 5px black);
  }
  100% {
    transform: rotateY(360deg);
  }
}
h2 {
  width: calc(22% + 190px);
  margin: 1vw auto;
  padding: 0.6vw;
  color: black;
  font-size: 1.3em;
  font-weight: bold;
  letter-spacing: 0.2em;
  background-color: rgba(255, 255, 255, 0.507);
  box-shadow: 5px -5px 13px 2px black;
}
/*/////////////////////////Название главы/////////////////////*/
.title {
  position: relative;
  top: 1vw;
  margin: 0;
  letter-spacing: 0.1em;
  text-align: center;
  background-color: rgba(133, 138, 138, 0.281);
  z-index: 20;
}
.hed {
  margin: 0;
  padding: 7px;
  font-size: 1.7em;
  font-weight: bold;
}
svg {
  position: absolute;
  width: 100%;
  height: 100%;
  margin-left: -50%;
  padding: 0;
  box-shadow: 6px -6px 26px 6px #06070769;
}
rect {
  width: 100%;
  height: 100%;
  fill: rgba(255, 255, 255, 0.527);
}
rect.second {
  fill: rgba(185, 187, 187, 0.281);
}
/*/////////////////////////Основная секция//////////////////*/
.section {
  margin: 3.5% 0;
}
h3 {
  position: relative;
  margin-top: 2.6vw;
  padding: 5px;
  font-size: 1.4em;
  text-align: center;
  background: rgba(255, 255, 255, 0.507);
  z-index: 20;
}
h4 {
  font-size: 1.7em;
  font-weight: bold;
  margin: 0 0 15px 0;
  background-color: rgba(255, 255, 255, 0.507);
}
p {
  font-size: 1.3em;
}
.cover {
  position: relative;
  top: 7px;
  height: 46px;
}
.hidden {
  visibility: hidden;
}
.clear {
  clear: both;
}
/*///////////////////////Прокрутка////////////////////////////*/
.scroll {
  border-radius: 50%;
  transition: 2s ease-in-out;
}
.scroll-top-btn {
  position: fixed;
  right: 10px;
  bottom: 11px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  text-decoration: none;
  box-shadow: 3px -3px 12px 2px black;
  background-color: rgba(219, 218, 218, 0.541);
  z-index: 5;
}
.scroll-top-btn-icon {
  display: block;
  position: relative;
  top: 4px;
  left: 5px;
  width: 30px;
  height: 30px;
}
/*////////////////////////////Футер////////////////////////////*/
.footer {
  display: flex;
  flex-wrap: wrap;
  height: 65px;
  margin-top: 0.5vw;
  padding: 0.5vw 4vw 0 1vw;
  border-top: 1px solid rgb(138, 143, 143);
  background-color: rgb(48, 47, 47);
  color: rgb(189, 187, 187);
  box-shadow: 3px 1px 15px 5px #494848;
}
.footer div {
  margin: auto 5px;
}
.footer div a {
  margin: 3px 0;
  float: left;
}
.footer a > img {
  height: 40px;
  margin: auto 6px;
  transition: 0.5s ease-in-out;
}
.footer > div > a > img:hover {
  transform: scale(1.2);
  transition: 0.2s ease-in-out;
}
.footer > img.im-float {
  height: 4vw;
  margin: auto 0;
  transition: 0.2s ease-in-out;
}
.im-float:hover {
  transform: scale(1.2);
  transition: 0.5s ease-in-out;
}
.footer > p {
  margin: auto;
  text-align: center;
}
.footer > address {
  margin: auto 3vw auto 5px;
  font-style: normal;
  font-size: medium;
}
/*//////////////////////////Адаптивность////////////////////*/
@media (min-width: 1367px) {
  .footer {
    padding: 5.5px 43.5px 0 10.9px;
  }
  .footer > img.im-float {
    height: 54.6px;
  }
  .footer > address {
    margin: auto 41px auto 5px;
  }
}
@media (max-width: 1100px) {
  .navigation {
    font-size: 1.6em;
  }
  h1 {
    font-size: 4em;
  }
  h2 {
    font-size: 1.2em;
  }
  .hed {
    padding: 5px;
    font-size: 1.5em;
  }
}
@media (max-width: 800px) {
  .scroll-top-btn {
    width: 35px;
    height: 35px;
  }
  .scroll-top-btn-icon {
    width: 25px;
    height: 25px;
  }
  h1 {
    font-size: 3.5em;
  }
  .top_menu > li {
    width: 130px;
  }
  ul.submenu {
    width: 130px;
  }
  .footer > img.im-float {
    height: 40px;
  }
}
@media (max-width: 665px) {
  .top_menu {
    font-size: 0.9em;
  }
  .top_menu > li,
  ul.submenu {
    width: 110px;
  }
  h1 {
    font-size: 3em;
  }
  h2 {
    font-size: 1.1em;
  }
  .hed {
    padding: 3px;
    font-size: 1.2em;
  }
  .footer > p {
    width: 200px;
    height: 50px;
    margin: 5px auto;
    font-size: 1em;
  }
  .footer div {
    width: 250px;
    height: 40px;
    margin: 5px auto;
    display: flex;
    justify-content: center;
  }
  .footer > address {
    width: 180px;
    height: 50px;
    margin: 10px auto 0 0;
  }
  .footer {
    justify-content: center;
    height: 180px;
  }
  .footer > img.im-float {
    margin: 10px 0 10px auto;
  }
}
@media (max-width: 508px) {
  h1 {
    font-size: 2.5em;
  }
  h2 {
    font-size: 1em;
  }
}
@media (max-width: 418px) {
  h1 {
    justify-content: flex-end;
  }
  h2 {
    font-size: 0.8em;
  }
  .top_menu > li,
  ul.submenu {
    width: 90px;
  }
  .hed {
    padding: 2px;
    font-size: 1.1em;
  }
}
