 :root {
     font-size: 16px;
 }

 * {
     box-sizing: border-box;
     margin: 0;
     padding: 0;
 }

 html {
     min-height: 100%;
 }

 body {
     font-family: 'Roboto', Arial, sans-serif;
     font-weight: 400;
     font-size: 16px;
     line-height: 23px;
     color: #231f20;
 }

 #wrapper {
     margin: 1rem auto;
     max-width: 512px;
     background: #fff;
     border: 2px solid #231f20;
 }

 header {
     padding: 16px 16px 0;
 }

 .header-flex {
     display: flex;
     justify-content: space-between;
     gap: 10px;
 }

 .header-flex-content:nth-of-type(2) {
     width: 80%;
 }

 p img {
     position: relative;
     top: 4px;
 }

 article {
     padding: 6px 16px 0;
 }

 .margin-bottom {
     margin-bottom: 0;
 }

 :is(h1, strong) {
     font-weight: 700;
 }

 h2 {
     font-weight: 400;
     font-style: italic;
     font-size: 28px;
     line-height: 1.2;
     margin-bottom: 13px;
 }

 h1 {
     font-size: 22px;
     margin: 0 0 10px;
     line-height: 1.2;
 }

 h1 span {
     font-size: 80%;
     font-weight: 400;
 }

 p {
     margin-bottom: 7px;
     text-align: justify;
 }

 :is(a:link, a:visited, a:hover, a:active) {
     color: #231f20;
     text-decoration: none;
 }

 img {
     max-width: 100%;
 }

 footer {
     padding: 0 16px 16px;
     display: flex;
     justify-content: space-between;
     gap: 10px;
     align-items: flex-end;
 }

 .footer-flex-content:nth-of-type(1) {
     width: 74%;
     font-size: 108%;
 }

 @media screen and (max-width: 511px) {
     #wrapper {
         border: none;
         margin: 0;
     }

     :is(h1, p) {
         hyphens: auto;
         text-wrap: pretty;
     }

     :is(p a, p span) {
         white-space: nowrap;
     }

     p {
         text-align: left;
     }

     br:not(br.mobile-block) {
         display: none;
     }
 }

 @media screen and (max-width: 452px) {
     :is(.header-flex, footer) {
         flex-direction: column;
         align-items: center;
     }

     :is(.header-flex-content, .footer-flex-content) {
         width: auto !important;
     }
 }