 * {
     margin: 0;
     padding: 0;
     box-sizing: border-box
 }

 html {
     min-height: 100%;
 }

 body {
     color: #000;
     font-family: 'Open Sans', sans-serif;
     font-size: 17px;
     line-height: 25px;
 }

 #wrapper {
     max-width: 870px;
     margin: 16px auto;
     border: 1px solid #000;
     background-color: #fff;
     padding: 35px 0 0;
 }

 header {
     padding: 0 35px 0 85px;
     background: #46b9c0;
     display: flex;
     justify-content: space-between;
     align-items: flex-end;
 }

 header p {
     color: #fff;
     padding-bottom: 10px;
     font-size: 15px;
 }

 article {
     padding: 25px 85px;
     font-weight: 300;
 }

 footer {
     padding: 0 85px 35px;
     display: flex;
     gap: 45px;
 }

 footer p {
     font-size: 14px;
     line-height: 19px;
     margin-top: 0;
 }

 p {
     margin-top: 16px;
 }

 p:first-of-type {
     margin-top: 0px;
 }

 h1 {
     font-size: 35px;
     line-height: 1.2;
     text-align: center;
     padding-bottom: 20px;
 }

 h1 span {
     display: block;
     font-size: 26px;
     margin-top: 25px;
 }

 h2 {
     font-size: 16px;
     line-height: 20px;
     font-weight: 400;
     text-decoration: underline;
     margin-top: 16px;
 }

 ul {
     list-style: none
 }

 ul li {
     padding-left: 23px;
     margin-top: 5px;
 }

 li:before {
     content: "\2022";
     color: #000;
     float: left;
     font-size: 29px;
     text-indent: -23px;
 }

 a {
     color: #000;
     text-decoration: none;
     white-space: nowrap;
 }

 img {
     max-width: 100%;
     display: block;
 }

 @media only screen and (max-width:870px) {
     #wrapper {
         border: none;
         margin: 0;
     }

     :is(p, ul) {
         hyphens: auto;
         text-wrap: pretty
     }

     :is(p, ul) span {
         white-space: nowrap;
     }

     header {
         padding: 0 16px
     }

     :is(article, footer) {
         padding: 16px
     }
 }

 @media only screen and (max-width:480px) {
     #wrapper {
         padding-top: 0
     }

     :is(header, footer) {
         flex-direction: column;
         align-items: center;
         gap: 16px
     }

     header {
         flex-direction: column-reverse;
         padding: 16px;
     }

     .logo {
         background: #fff;
         display: flex;
         justify-content: center;
         width: 100%;
     }

     :is(header, footer) p {
         text-align: center;
     }

     h1 {
         font-size: 25px
     }

     h1 span {
         font-size: 80%
     }
 }