@charset "utf-8";

@font-face {
   font-display: swap;
   font-family: 'Source Sans 3';
   font-style: normal;
   font-weight: 400;
   src: url('../fonts/source-sans-3-v15-latin-regular.eot');
   src: url('../fonts/source-sans-3-v15-latin-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/source-sans-3-v15-latin-regular.woff2') format('woff2'), url('../fonts/source-sans-3-v15-latin-regular.woff') format('woff'), url('../fonts/source-sans-3-v15-latin-regular.ttf') format('truetype'), url('../fonts/source-sans-3-v15-latin-regular.svg#SourceSans3') format('svg');
}

@font-face {
   font-display: swap;
   font-family: 'Source Sans 3';
   font-style: normal;
   font-weight: 600;
   src: url('../fonts/source-sans-3-v15-latin-600.eot');
   src: url('../fonts/source-sans-3-v15-latin-600.eot?#iefix') format('embedded-opentype'), url('../fonts/source-sans-3-v15-latin-600.woff2') format('woff2'), url('../fonts/source-sans-3-v15-latin-600.woff') format('woff'), url('../fonts/source-sans-3-v15-latin-600.ttf') format('truetype'), url('../fonts/source-sans-3-v15-latin-600.svg#SourceSans3') format('svg');
}

@font-face {
   font-display: swap;
   font-family: 'Source Sans 3';
   font-style: normal;
   font-weight: 700;
   src: url('../fonts/source-sans-3-v15-latin-700.eot');
   src: url('../fonts/source-sans-3-v15-latin-700.eot?#iefix') format('embedded-opentype'), url('../fonts/source-sans-3-v15-latin-700.woff2') format('woff2'), url('../fonts/source-sans-3-v15-latin-700.woff') format('woff'), url('../fonts/source-sans-3-v15-latin-700.ttf') format('truetype'), url('../fonts/source-sans-3-v15-latin-700.svg#SourceSans3') format('svg');
}

:root {
   font-size: 16px;
}

* {
   margin: 0;
   padding: 0;
   box-sizing: border-box;
}

body {
   color: #231F20;
   font-family: 'Source Sans 3', Arial, sans-serif;
   font-size: 1rem;
   line-height: 1.2;
   font-weight: 400;
}

img {
   max-width: 100%;
   height: auto;
   display: block;
}

#wrapper {
   position: relative;
   max-width: 56.25rem;
   margin: 1rem auto;
   overflow: hidden;
   background: #fff;
   border: solid 0.0625rem #000;
}

:is(a:link, a:visited, a:hover, a:active) {
   color: inherit;
   text-decoration: none;
}

a.site {
   color: #01558C;
}

p {
   margin: 0 0 1.562rem;
   text-align: justify;
}

h1 {
   text-align: center;
   font-size: 1.875rem;
   line-height: 1.1;
   margin: 0;
   font-weight: 600;
   background: #fff;
   padding: .625rem 1.562rem .625rem 2.875rem;
   position: absolute;
   bottom: 8rem;
   color: #085D92;
}

h2 {
   font-size: 1.125rem;
   line-height: 1.1;
   margin: 0 0 .625rem;
   color: #05548B;
   font-weight: 600;
}

h3 {
   background: #065E94;
   color: #fff;
   margin: 1rem 0 0;
   font-weight: 400;
   font-size: 1.5rem;
   position: absolute;
   bottom: 0;
   padding: .5rem 1.562rem .5rem 2.875rem;
   width: 100%
}

h4 {
   color: #850047;
   font-size: 1.875rem;
   background: #fff;
   text-align: right;
   padding: 0.5rem 1.562rem 0.187rem 2.875rem;
   margin: 0 0 1rem;
   position: absolute;
   bottom: 3rem;
   font-weight: 600
}

ul {
   list-style: none;
   margin: 0 0 2rem;
}

ul li {
   padding: 0 0 0 0.9375rem;
   margin: 0 0 0.375rem;
}

ul li::before {
   content: "\2022";
   float: left;
   margin: 0 0 0 -0.937rem;
   font-size: 1.125rem;
   position: relative;
   bottom: .187rem;
   color: #871E5F
}

.box_top {
   position: relative;
}

.logo {
   display: flex;
   flex-direction: column;
   align-items: flex-end;
   position: absolute;
   top: 22%;
   right: 1.5rem;
   z-index: 10;
}

.main {
   padding: 7rem 2.875rem 0;
   position: relative;
}

.flex {
   display: flex;
   column-gap: 1.5rem
}

.left,
.right {
   flex: 50%;
}

article .floating {
   display: flex;
}

article div.floating img {
   float: right;
   height: 100%;
   width: 220px;
   margin: 5px 0 0 20px;
   object-fit: contain;
   shape-outside: inset(calc(100% - 145px) 0 0);
}

footer {
   background-color: #F4F3F5;
   padding: 1rem 2.875rem;
   border-top: 0.5rem solid #871E60;
   border-bottom: 0.062rem solid #871E60;
}

footer p {
   margin: 0 0 .5rem;
   text-align: left;
}

footer p span {
   color: #01558C;
}

footer p .big {
   color: #81004D;
   font-size: 1.187rem;
   font-weight: 600;
}

footer p:last-of-type {
   margin-right: -1rem;
}

@media only screen and (max-width: 899px) {
   #wrapper {
      border: none;
      margin: 0 auto;
      padding: 1rem;
   }

   p a {
      display: inline-block;
   }

   p,
   ul {
      -moz-hyphens: auto;
      -webkit-hyphens: auto;
      -ms-hyphens: auto;
      hyphens: auto;
      margin: 0 0 1rem
   }

   p {
      text-align: left
   }

   h1 {
      font-size: 1.625rem;
      padding: .625rem 1rem;
      bottom: 7.5rem;
   }

   h3 {
      font-size: 1.2rem;
      position: absolute;
      bottom: 0;
      padding: .625rem 1rem;
      width: 100%
   }

   h4 {
      font-size: 1.625rem;
      padding: .625rem 1rem;
      bottom: 2.6rem;
   }

   .logo {
      right: 1.562rem
   }

   .main {
      padding: 6rem 1rem .625rem;
   }

   article div.floating img {
      margin: 25px 0 0 20px;
      shape-outside: inset(calc(100% - 130px) 0 0);
   }

   footer {
      padding: 1rem;
   }

   footer br {
      display: none;
   }

   footer p:last-of-type {
      margin-right: 0;
   }
}

@media only screen and (max-width: 875px) {
   .logo {
      position: static;
      padding: 0 0 1rem
   }

   .main {
      padding: 1rem 1rem .625rem;
   }
}

@media only screen and (max-width: 800px) {
   :is(a: link, a:visited, a:hover, a:active) {
      white-space: pre-wrap;
   }

   h1,
   h3,
   h4 {
      position: static;
      text-align: center;
      margin: 0;
      padding: .625rem 1rem
   }

   h1 {
      font-size: 1.7rem;
      padding-bottom: 0;
   }

   h3 {
      font-size: 1.25rem;
   }

   h4 {
      font-size: 1.375rem;
   }

   .flex {
      display: block
   }

   article div.floating img {
      shape-outside: inset(calc(100% - 140px) 0 0);
   }
}

@media only screen and (max-width: 680px) {
   article .floating {
      flex-direction: column;
   }

   article div.floating img {
      float: none;
      height: auto;
      width: auto;
      margin: 5px 0 1rem;
      shape-outside: inset(calc(100% - 145px) 0 0);
   }
}

@media only screen and (max-width: 30rem) {
   .logo {
      align-items: center
   }

   .main {
      padding: 1rem 0
   }

   footer p {
      text-align: center
   }
}
