 @font-face {
     font-display: swap;
     font-family: 'Mulish';
     font-style: normal;
     font-weight: 400;
     src: url('../fonts/mulish-v17-latin-regular.eot');
     src: url('../fonts/mulish-v17-latin-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/mulish-v17-latin-regular.woff2') format('woff2'), url('../fonts/mulish-v17-latin-regular.woff') format('woff'), url('../fonts/mulish-v17-latin-regular.ttf') format('truetype'), url('../fonts/mulish-v17-latin-regular.svg#Mulish') format('svg');
 }

 @font-face {
     font-display: swap;
     font-family: 'Mulish';
     font-style: normal;
     font-weight: 700;
     src: url('../fonts/mulish-v17-latin-700.eot');
     src: url('../fonts/mulish-v17-latin-700.eot?#iefix') format('embedded-opentype'), url('../fonts/mulish-v17-latin-700.woff2') format('woff2'), url('../fonts/mulish-v17-latin-700.woff') format('woff'), url('../fonts/mulish-v17-latin-700.ttf') format('truetype'), url('../fonts/mulish-v17-latin-700.svg#Mulish') format('svg');
 }

 @font-face {
     font-display: swap;
     font-family: 'Kalam';
     font-style: normal;
     font-weight: 300;
     src: url('../fonts/kalam-v17-latin-300.eot');
     src: url('../fonts/kalam-v17-latin-300.eot?#iefix') format('embedded-opentype'), url('../fonts/kalam-v17-latin-300.woff2') format('woff2'), url('../fonts/kalam-v17-latin-300.woff') format('woff'), url('../fonts/kalam-v17-latin-300.ttf') format('truetype'), url('../fonts/kalam-v17-latin-300.svg#Kalam') format('svg');
 }

 * {
     box-sizing: border-box;
     margin: 0;
     padding: 0;
 }

 html {
     min-height: 100%;
 }

 body {
     color: #000;
     font-family: 'Mulish', Arial, sans-serif;
     font-size: 15px;
     line-height: 17px;
     font-weight: 400;
 }

 #wrapper {
     max-width: 550px;
     margin: 1rem auto;
     border: 2px solid #00aeef;
     padding: 1rem 1rem 6px 6.875rem;
     background: #fff url('../images/background.jpg') no-repeat 0 0;
     position: relative;
 }

 header {
     margin: 0 -1rem 1rem -2.125rem;
 }

 footer {
     position: absolute;
     z-index: 3;
     right: 14px;
     bottom: 28px;
 }

 p {
     margin: 0 0 16px;
 }

 :is(strong, h1, h2) {
     font-weight: 700;
 }

 h1 {
     margin: -9px 0 10px;
     font-size: 30px;
     line-height: 2rem;
     color: #00aeef;
 }

 h1+p {
     font-size: 20px !important;
     line-height: 22px;
 }

 h1 small {
     font-size: 1.25rem;
     line-height: 1;
 }

 h2 {
     margin: 0 0 4px;
     padding: 0 0 0 18px;
     font-size: 17px;
     line-height: 1.375rem;
     position: relative;
     color: #f36a21;
 }

 h2::before {
     content: "";
     width: 13px;
     height: 13px;
     background: #f36b22;
     position: absolute;
     z-index: 3;
     left: 0;
     top: 0.25rem;
 }

 .green h2 {
     color: #22b24c
 }

 .green h2::before {
     background: #22b24c;
 }

 .green ul li::before {
     background: #22b24c;
 }

 .blue h2 {
     color: #00aeef;
 }

 .blue h2::before {
     background: #00aeef;
 }

 .blue ul li::before {
     background: #00aeef;
 }

 .yellow {
     color: #00aeef
 }

 .yellow::before {
     background: #ffe601;
 }

 :is(a:link, a:visited, a:hover, a:active) {
     color: #000;
     text-decoration: none;
     white-space: nowrap;
 }

 .font {
     font-family: 'Kalam', cursive;
     font-weight: 300;
     font-size: 17px;
 }

 ul {
     padding: 0 0 0.5rem;
     list-style: none;
 }

 ul li {
     padding-left: 1.25rem;
     position: relative;
     margin-bottom: 3px;
 }

 ul li:before {
     content: "";
     width: 0.5rem;
     height: 0.5rem;
     background: #f36b22;
     position: absolute;
     z-index: 3;
     left: 0;
     top: 5px;
 }

 .green ul li::before {
     background: #22b24c;
 }

 img {
     max-width: 100%;
     vertical-align: middle;
 }

 .justify {
     text-align: justify;
     padding-right: 13px;
 }

 @media all and (max-width: 549px) {
     #wrapper {
         margin: 0;
         border: none;
         background: #fff url('../images/background.jpg') no-repeat 0 0;
         background-size: 12% auto;
         padding: 1rem 1rem 1rem 16%;
     }

     :is(ul, p) {
         hyphens: auto;
         text-wrap: pretty;
     }

     .justify {
         text-align: left;
         padding-right: 0;
     }

     p span {
         white-space: nowrap;
     }
 }

 @media all and (max-width: 520px) {
     header {
         margin: 0 0 0.625rem;
     }

     p {
         margin: 0 0 1rem;
     }

     h1 {
         margin: 1rem 0;
         font-size: 25px;
     }

     ul li {
         margin-bottom: 0.25rem;
     }

     footer {
         position: static;
     }

     h1+p {
         text-align: left;
         font-size: 17px !important;
     }

     h1+p br {
         display: none
     }
 }

 @media all and (max-width: 345px) {
     body {
         font-size: 14px;
     }
 }