* {
   padding: 0;
   margin: 0;
   border: 0;
}

*,
*:before,
*:after {
   box-sizing: border-box;
}

:focus,
:active {
   outline: none;
}

a:focus,
a:active {
   outline: none;
}

nav,
footer,
header,
aside {
   display: block;
}

html,
body {
   height: 100%;
   width: 100%;
   font-size: 100%;
   -ms-text-size-adjust: 100%;
   -moz-text-size-adjust: 100%;
   -webkit-text-size-adjust: 100%;
}

input::-ms-clear {
   display: none;
}

button {
   cursor: pointer;
}

button::-moz-focus-inner {
   padding: 0;
   border: 0;
}

a,
a:visited {
   text-decoration: none;
}

a:hover {
   text-decoration: none;
}

ul li {
   list-style: none;
}

img {
   vertical-align: top;
}

@font-face {
   font-family: Raleway;
   font-display: swap;
   src: url("../fonts/Raleway-Bold.woff2") format("woff2"), url("../fonts/Raleway-Bold.woff") format("woff");
   font-weight: 700;
   font-style: normal;
}

@font-face {
   font-family: Raleway;
   font-display: swap;
   src: url("../fonts/Raleway-Regular.woff2") format("woff2"), url("../fonts/Raleway-Regular.woff") format("woff");
   font-weight: 400;
   font-style: normal;
}

html {
   scroll-behavior: smooth;
}

main {
   flex: 1 1 auto;
   background: #191817;
}

.container {
   width: calc(100% - 60px);
   margin-inline: auto;
}

@media (max-width: 550px) {
   .container {
      width: calc(100% - 40px);
   }
}

.home {
   position: relative;
   height: 100svh;
   max-height: 100vh;
   overflow: hidden;
}

.home::after {
   content: "";
   display: block;
   width: 100%;
   height: 50vh;
   position: absolute;
   bottom: 0;
   left: 0;
   background-image: linear-gradient(0turn, rgb(25, 24, 23) 0%, rgba(25, 24, 23, 0) 100%);
   pointer-events: none;
}

.home__body {
   height: 100svh;
   max-height: 100vh;
   display: flex;
   align-items: center;
   justify-content: center;
   min-height: 500px;
}

.home__title {
   color: #ffffff;
   font-family: Raleway;
   line-height: 1;
   font-weight: 700;
   text-transform: uppercase;
   zoom: 1.266;
   text-align: center;
   font-size: calc(40px + 40 * (100vw - 320px) / 1120);
}

.home__title span {
   font-size: calc(22px + 30 * (100vw - 320px) / 1120);
}

.home__title svg {
   width: calc(24px + 12 * ((100vw - 320px) / 1120));
   height: calc(24px + 12 * ((100vw - 320px) / 1120));
   margin-right: 10px;
   opacity: 0.9;
}

@media (max-width: 550px) {
   .home__title {
      text-align: center;
   }

   .home__title span {
      margin-top: 80px;
      display: inline-block;
   }

   .home__title svg {
      width: 20px;
      height: 20px;
      margin-right: 3px;
   }
}

.home__clouds {
   position: absolute;
   bottom: -35%;
   left: 0;
   width: 100%;
   min-width: 800px;
   opacity: 0.2;
   overflow: hidden;
}

.home__clouds img {
   width: 100%;
   -o-object-fit: cover;
   object-fit: cover;
}

@media (max-width: 1000px) {
   .home__clouds {
      bottom: unset;
      top: 70%;
   }
}

.description__item {
   padding: 40px 0 100px;
   width: 100%;
   border-top: 1px solid rgba(255, 255, 255, 0.1);
   display: flex;
   align-items: flex-start;
   gap: 80px;
}

.description__item:last-child {
   padding: 40px 0 0;
}

@media (max-width: 767px) {
   .description__item {
      flex-direction: column;
      padding: 30px 0 30px;
   }
}

@media (max-width: 550px) {
   .description__item {
      gap: 30px;
   }
}

.description__title {
   flex: 0 1 37%;
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 20px;
}

.description__icon {
   width: 36px;
   height: 36px;
}

.description__icon svg {
   width: 100%;
   height: 100%;
   -o-object-fit: contain;
   object-fit: contain;
   opacity: 0.3;
}

.description__icon img {
   width: 100%;
   height: 100%;
   -o-object-fit: contain;
   object-fit: contain;
   opacity: 0.3;
}

.description__name {
   color: #ffffff;
   font-size: 24px;
   font-family: Raleway;
   line-height: 1.4;
   font-weight: 400;
   text-transform: uppercase;
   opacity: 0.5;
}

.description__text {
   flex: 0 1 63%;
   color: #ffffff;
   font-size: 16px;
   font-family: Raleway;
   line-height: 140%;
   font-weight: 400;
}

.description__text p {
   max-width: 600px;
   margin-bottom: 16px;
   opacity: 0.6;
   transition: all 0.5s linear 0s;
}

.description__text p.active {
   opacity: 1;
}

.description__text-footer {
   display: inline-block;
   font-size: 16px;
   margin-top: 150px;
   color: #fff;
   position: relative;
   padding: 10px;
   line-height: 120%;
   opacity: 0.6;
}