 @font-face {
     font-display: swap;
     font-family: 'Open Sans';
     font-style: normal;
     font-weight: 400;
     src: url('../fonts/open-sans-v40-latin-regular.eot');
     src: url('../fonts/open-sans-v40-latin-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/open-sans-v40-latin-regular.woff2') format('woff2'), url('../fonts/open-sans-v40-latin-regular.woff') format('woff'), url('../fonts/open-sans-v40-latin-regular.ttf') format('truetype'), url('../fonts/open-sans-v40-latin-regular.svg#OpenSans') format('svg');
 }

 @font-face {
     font-display: swap;
     font-family: 'Open Sans';
     font-style: normal;
     font-weight: 500;
     src: url('../fonts/open-sans-v40-latin-500.eot');
     src: url('../fonts/open-sans-v40-latin-500.eot?#iefix') format('embedded-opentype'), url('../fonts/open-sans-v40-latin-500.woff2') format('woff2'), url('../fonts/open-sans-v40-latin-500.woff') format('woff'), url('../fonts/open-sans-v40-latin-500.ttf') format('truetype'), url('../fonts/open-sans-v40-latin-500.svg#OpenSans') format('svg');
 }

 @font-face {
     font-display: swap;
     font-family: 'Open Sans';
     font-style: normal;
     font-weight: 700;
     src: url('../fonts/open-sans-v40-latin-700.eot');
     src: url('../fonts/open-sans-v40-latin-700.eot?#iefix') format('embedded-opentype'), url('../fonts/open-sans-v40-latin-700.woff2') format('woff2'), url('../fonts/open-sans-v40-latin-700.woff') format('woff'), url('../fonts/open-sans-v40-latin-700.ttf') format('truetype'), url('../fonts/open-sans-v40-latin-700.svg#OpenSans') format('svg');
 }

 * {
     box-sizing: border-box;
     margin: 0;
     padding: 0;
 }

 :root {
     font-size: 16px;
 }

 body {
     font-family: 'Open Sans', sans-serif;
     font-size: 15px;
     line-height: 20px;
     color: #1d1d1b;
     font-weight: 400;
 }

 #wrapper {
     margin: 1rem auto;
     padding: 40px;
     max-width: 880px;
     background-color: #fff;
     overflow: hidden;
     border: solid thin #ececec;
 }

 header {
     margin: 0 -40px;
     display: flex;
     flex-direction: column;
     align-items: end;
 }

 header a {
     display: inline-block;
     margin: 0 40px 16px;
 }

 article {
     margin: -57px 0 0;
     position: relative;
 }

 :is(.flex-box, .flex-green) {
     display: flex;
     flex-wrap: wrap;
 }

 .flex-green {
     gap: 20px;
     justify-content: space-between;
 }

 .flex-green-content:nth-of-type(1) {
     width: 30%;
     display: flex;
     align-items: center;
     gap: 10px;
 }

 .flex-green-content:nth-of-type(2) {
     width: 65%;
 }

 .position {
     position: relative;
 }

 .position .button {
     position: absolute;
     right: 4px;
     bottom: 0;
 }

 .top {
     margin-bottom: 30px;
 }

 .top p {
     position: relative;
     width: 250px;
     display: flex;
     gap: 9px;
     align-items: center;
 }

 .top p em {
     font-style: normal;
     display: flex;
     justify-content: center;
     width: 22px;
 }

 .top p strong {
     font-weight: 500;
 }

 .backgrount-title {
     background: #0f2d46;
     color: #fff;
     padding: 20px 20px 20px 40px;
     position: relative;
     z-index: 999;
     margin: 0 286px 30px -40px;
 }

 .background-blue {
     background: #dbf1fb;
     margin: 30px -40px;
     padding: 30px 40px;
 }

 .background-gray {
     background: #ececec;
     margin: 30px -40px;
     padding: 30px 40px;
 }

 .imgaes .flex-box {
     justify-content: space-between;
     gap: 32px 28px;
 }

 figure {
     box-shadow: 0 0 30px rgba(0, 0, 0, 0.2);
 }

 .button {
     display: flex;
     flex-direction: column;
 }

 .button a {
     display: block;
     width: 140px;
     height: 37px;
     line-height: 37px;
     border-radius: 5px;
     background: #95c11f;
     text-align: center;
     font-weight: 700;
 }

 hr {
     border: none;
     height: 1px;
     width: 100%;
     background: #8b8b87;
     display: block;
     margin: 20px 0;
 }

 .info {
     margin: 30px 0;
 }

 .info .flex-box {
     justify-content: space-between;
 }

 .info section {
     width: 45%;
 }

 .info section:last-of-type {
     width: 52%;
 }

 .margin-bottom {
     margin-bottom: 40px !important;
 }

 footer {
     margin: -30px -40px -40px;
     padding: 16px 30px;
     display: flex;
     justify-content: flex-end;
     background: #ECF5E8;
 }

 .flex-text {
     margin-top: 10px;
 }

 :is(h1, h2, strong) {
     font-weight: 700;
 }

 h1 {
     font-size: 28px;
     line-height: 37px;
     margin-bottom: 10px;
 }

 h2 {
     font-size: 24px;
     line-height: 28px;
     margin: 0 0 20px;
 }

 p:not(:last-child) {
     margin: 0 0 16px;
 }

 :is(a:link, a:visited, a:hover, a:active) {
     color: #1d1d1b;
     text-decoration: none;
     white-space: nowrap;
 }

 a:hover {
     color: #073b65;
 }

 .button a:hover {
     color: #1d1d1b;
     background-color: #739518;
     border-color: #6c8c17;
 }

 img {
     max-width: 100%;
     vertical-align: middle;
 }

 ul {
     margin: 0 0 20px 28px;
 }

 ul ul {
     margin: 0 0 5px 28px;
 }

 ul li {
     list-style: none;
     text-indent: -15px;
     margin-bottom: 5px;
 }

 ul li:before {
     font-size: 20px;
     margin-right: 15px;
     position: relative;
     top: -1px;
     float: left;
     content: "\2022";
     color: #231f20;
 }

 .top span {
     display: block;
     width: calc(100% - 40px);
 }

 @media screen and (max-width: 878px) {
     #wrapper {
         border: none;
         margin: 0;
         padding: 16px;
     }

     header {
         margin: 0 -16px;
     }

     header a {
         margin: 0 16px 16px;
     }

     article {
         margin-top: 0;
     }

     :is(.backgrount-title, .info) {
         margin: 0 -16px 30px;
         padding: 16px;
     }

     .backgrount-title {
         margin-right: 175px;
     }

     .top .flex-box {
         flex-wrap: wrap;
         gap: 14px;
         justify-content: center;
     }

     .top {
         margin-bottom: 30px;
     }

     footer {
         margin: -30px -16px -16px;
         padding: 16px;
     }

     :is(h1, h2, p, ul li) {
         hyphens: auto;
         text-wrap: pretty;
     }

     br:not(footer br, .top br) {
         display: none;
     }

     .button {
         margin-right: 0;
     }
 }

 @media screen and (max-width: 767px) {
     :is(.info section: nth-of-type(1), .info section:nth-of-type(2)) {
         width: 48%;
         margin: 20px 0;
     }

     .info section:nth-of-type(3) {
         width: 100% !important;
     }

     .button {
         align-items: center;
     }
 }

 @media screen and (max-width: 690px) {
     h1 {
         font-size: 29px;
     }

     .flex-green {
         display: block;
     }

     .flex-green-content {
         width: 100% !important;
     }

     .flex-green-content:nth-of-type(2) {
         margin-top: 1rem;
     }

     h1 {
         font-size: 24px;
         line-height: 31px;
     }
 }

 @media screen and (max-width: 560px) {
     .backgrount-title {
         margin-right: -16px;
     }

     .position {
         margin-bottom: 2rem;
     }

     h1 {
         text-align: center;
     }

     .position .button {
         position: static;
     }
 }

 @media screen and (max-width: 480px) {
     header {
         align-items: center;
     }

     .imgaes .flex-box {
         flex-direction: column;
         align-items: center;
     }

     :is(.info section:nth-of-type(1), .info section:nth-of-type(2)) {
         width: 100% !important;
         display: flex;
         align-items: center;
         gap: 16px;
         flex-direction: column;
     }

     .info section:not(:last-of-type) p {
         text-align: center;
     }

     footer {
         justify-content: center;
     }

     .margin-bottom {
         margin-bottom: 0 !important;
     }

     ul {
         margin-left: 14px;
     }
 }