.t-transition {
  -webkit-transition: all 0.25s ease-out;
  transition: all 0.25s ease-out;
}

@-webkit-keyframes pulse {
  0% {
    -webkit-transform: scale(1);
  }

  25% {
    -webkit-transform: scale(1.08);
  }

  50% {
    -webkit-transform: scale(1);
  }

  75% {
    -webkit-transform: scale(1.03);
  }

  100% {
    -webkit-transform: scale(1);
  }
}

@keyframes pulse {
  0% {
    -webkit-transform: scale(1);
  }

  25% {
    -webkit-transform: scale(1.08);
  }

  50% {
    -webkit-transform: scale(1);
  }

  75% {
    -webkit-transform: scale(1.03);
  }

  100% {
    -webkit-transform: scale(1);
  }
}

.t-pulse:hover {
  -webkit-animation-name: pulse;
          animation-name: pulse;
  -webkit-animation-duration: .75s;
          animation-duration: .75s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}

/**
 * 1. Sets box-sizing to border-box by default.
 * 2. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 * 3. Makes font thinkness to look the same in Firefox and Webkit.
 */

html {
  -moz-osx-font-smoothing: grayscale;
  /* 3 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-font-smoothing: antialiased;
  /* 3 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /* 1 */
}

/**
 * Simple reset of element margin and padding
 */

body,
h1,
h2,
h3,
h4,
h5,
h6,
blockquote,
p,
pre,
code,
dl,
dd,
ol,
ul,
figure,
hr,
fieldset,
legend {
  margin: 0;
  padding: 0;
}

/**
 * Sets box-sizing to all elements and before / after
 */

*,
*::before,
*::after {
  -webkit-box-sizing: inherit;
          box-sizing: inherit;
}

/**
 * Fixes the issues of main HTML5 tag with even earlier versions of IE.
 * For IE9-, please use HTML5Shiv https://github.com/aFarkas/html5shiv.
 */

main {
  display: block;
}

/**
 * Sets heading font-size to be equal to the content font-size. Encourages
 * the use of different heading elements to define the position of the heading
 * in the document and not the heading look.

 * Opinionated and disabled by default.
 */

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
}

/**
 * Applies a bold font weight to strong instead of the default bolder
 */

strong {
  font-weight: bold;
}

/**
 * Removes default border spacing and collapse
 */

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/**
 * 1. Removes border from images inside links
 * 2. Helps images to properly behave in responsive layouts
 */

img,
svg {
  border-style: none;
  /* 1 */
  height: auto;
  /* 2 */
  max-width: 100%;
  /* 2 */
  vertical-align: middle;
  /* 2 */
}

/**
 * 1. Removes text decoration from links.
 * 2. Sets default link color same as the content color.
 * 3. Removes default grey background in IE10.
 * 4. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */

a {
  -webkit-text-decoration-skip: objects;
  /* 4 */
  background-color: transparent;
  /* 3 */
  color: inherit;
  /* 2 */
  text-decoration: none;
  /* 1 */
}

.clear {
  clear: both;
}

/**
     * Remove margin from form elements
     */

input,
select,
textarea {
  margin: 0;
}

/**
     * Show overflow in Edge
     */

input {
  overflow: visible;
}

/**
     * Remove the default vertical scrollbar in IE.
     */

select {
  text-transform: none;
}

/**
     * 1. Add the correct box sizing in IE 10-.
     * 2. Remove the padding in IE 10-.
     */

[type='checkbox'],
[type='radio'] {
  padding: 0;
  /* 2 */
}

/**
     * Correct the cursor style of increment and decrement buttons in Chrome.
     */

[type='number']::-webkit-inner-spin-button,
[type='number']::-webkit-outer-spin-button {
  height: auto;
}

/**
     * 1. Correct the odd appearance in Chrome and Safari.
     * 2. Correct the outline style in Safari.
     */

[type='search'] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

/**
     * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
     */

[type='search']::-webkit-search-cancel-button,
[type='search']::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
     * 1. Correct the inability to style clickable types in iOS and Safari.
     * 2. Change font properties to `inherit` in Safari.
     */

::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/**
 * Dummy MediaQueries for right order with mqpacker
 */

@media (max-width: 26.24em) {
  /*! until mobile */
}

@media (min-width: 26.25em) {
  /*! Wider than mobile */
}

@media (min-width: 26.25em) and (max-width: 48.115em) {
  /*! between mobile and tablet */
}

@media (max-width: 48.115em) {
  /*! until tablet */
}

@media (min-width: 48.125em) {
  /*! Wider than tablet */
}

@media (min-width: 48.125em) and (max-width: 61.24em) {
  /*! between tablet and desktop */
}

@media (max-width: 61.24em) {
  /*! until desktop */
}

@media (min-width: 61.25em) {
  /*! wider than desktop*/
}

@media (min-width: 61.25em) and (max-width: 79.99em) {
  /*! between desktop and wide */
}

@media (max-width: 79.99em) {
  /*! until wide */
}

@media (min-width: 80em) {
  /*! Wider than wide */
}

html {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
}

body {
  color: #000;
  line-height: 1.7;
  margin: 0 auto;
  background-color: #fff;
}

html,
body {
  overflow-x: hidden;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

img.align_center {
  margin: 0 auto;
  border-radius: 12px;
  -webkit-box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.5);
          box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.5);
}

p {
  font-size: 16px;
  line-height: 24px;
}

@media (min-width: 61.25em) {
  p {
    font-size: 16px;
    line-height: 28px;
    font-weight: 100;
  }
}

@media (max-width: 26.24em) {
  p {
    font-size: 12px;
    line-height: 24px;
    font-weight: 100;
  }
}

p + * {
  margin-top: 1rem;
}

.o-bg--blue,
.o-bg--magenta,
.o-bg--purple {
  color: #fff;
}

.c-text p a:hover {
  text-decoration: underline;
}

@media (max-width: 48.115em) {
  .c-text p a {
    text-decoration: underline;
  }
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 500;
  line-height: 1;
}

h1 {
  font-size: 40px;
  line-height: 70px;
  color: #00afd4;
  font-family: museo, serif;
}

@media (max-width: 26.24em) {
  h1 {
    font-size: 24px;
    line-height: 30px;
    margin-bottom: 10px;
  }
}

@media (max-width: 23.125em) {
  h1 {
    font-size: 16px;
    line-height: 22px;
  }
}

.body--magenta h1 {
  color: #a2185d;
}

.body--purple h1 {
  color: #662681;
}

.o-bg--blue h1,
.o-bg--magenta h1,
.o-bg--purple h1 {
  color: #fff;
}

h2 {
  font-size: 34px;
  line-height: 60px;
  color: #00afd4;
  font-family: museo, serif;
}

@media (max-width: 26.24em) {
  h2 {
    font-size: 22px;
    line-height: 26px;
    margin-bottom: 10px;
  }
}

@media (max-width: 23.125em) {
  h2 {
    font-size: 16px;
    line-height: 20px;
    margin-bottom: 10px;
  }
}

.body--magenta h2 {
  color: #a2185d;
}

.body--purple h2 {
  color: #662681;
}

.o-bg--blue h2,
.o-bg--magenta h2,
.o-bg--purple h2 {
  color: #fff;
}

h3 {
  font-size: 34px;
  line-height: 60px;
  color: #000;
  font-family: museo, serif;
}

@media (max-width: 26.24em) {
  h3 {
    font-size: 16px;
    line-height: 20px;
    margin-bottom: 10px;
  }
}

h4 {
  font-size: 16px;
}

h5 {
  font-size: 22px;
  line-height: 40px;
  color: #888;
  font-weight: bold;
}

@media (max-width: 26.24em) {
  h5 {
    line-height: 18px;
    font-size: 16px;
    margin-bottom: 10px;
  }
}

@media (max-width: 23.125em) {
  h5 {
    line-height: 18px;
    font-size: 14px;
  }
}

.o-bg--blue h5 {
  color: #8cdbeb;
}

.o-bg--magenta h5 {
  color: #ecd0de;
}

.o-bg--purple h5 {
  color: #cc89e8;
}

h6 {
  font-size: 16px;
}

li {
  list-style: none;
}

/* ==========================================================================
   #WRAPPER
   ========================================================================== */

/**
 * Page-level constraining and wrapping elements.
 */

.o-wrapper--bg-white-gray {
  background: -webkit-gradient(linear, left top, left bottom, from(white), color-stop(50%, white), color-stop(50%, #f8f8f8), to(#f8f8f8));
  background: linear-gradient(to bottom, white 0%, white 50%, #f8f8f8 50%, #f8f8f8 100%);
}

.o-wrapper--bg-gray-white {
  background: -webkit-gradient(linear, left top, left bottom, from(#f8f8f8), color-stop(50%, #f8f8f8), color-stop(50%, white), to(white));
  background: linear-gradient(to bottom, #f8f8f8 0%, #f8f8f8 50%, white 50%, white 100%);
}

.o-wrapper--bg-white-primary {
  background: -webkit-gradient(linear, left top, left bottom, from(white), color-stop(50%, white), color-stop(50%, #00afd4), to(#00afd4));
  background: linear-gradient(to bottom, white 0%, white 50%, #00afd4 50%, #00afd4 100%);
}

.o-wrapper--bg-primary-white {
  background: -webkit-gradient(linear, left top, left bottom, from(#00afd4), color-stop(50%, #00afd4), color-stop(50%, white), to(white));
  background: linear-gradient(to bottom, #00afd4 0%, #00afd4 50%, white 50%, white 100%);
}

.o-wrapper--bg-gray {
  background-color: #f8f8f8;
}

.o-wrapper--bg-dark {
  background-color: #031424;
}

.o-wrapper--bg-primary {
  background-color: #00afd4;
  color: white;
}

/* Size variants.
   ========================================================================== */

.o-wrapper--tiny {
  padding-left: 8px;
  padding-right: 8px;
}

.o-wrapper--small {
  padding-left: 12px;
  padding-right: 12px;
}

.o-wrapper--large {
  padding-left: 48px;
  padding-right: 48px;
}

.o-wrapper--huge {
  padding-left: 128px;
  padding-right: 128px;
}

/* Spacing variants.
   ========================================================================== */

.o-wrapper__inside {
  margin-left: auto;
  margin-right: auto;
  max-width: 1430px;
  padding-left: 16px;
  padding-right: 16px;
}

@media (max-width: 48.115em) {
  .o-wrapper__inside {
    padding-left: 32px;
    padding-right: 32px;
  }
}

@media (max-width: 26.24em) {
  .o-wrapper__inside {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.o-icon {
  display: block;
}

.o-icon--xs {
  width: 16px;
  height: 16px;
}

.o-icon--s {
  width: 32px;
  height: 32px;
}

.o-icon--m {
  width: 64px;
  height: 64px;
}

.o-icon--l {
  width: 96px;
  height: 96px;
}

.o-icon--xl {
  width: 128px;
  height: 128px;
}

.o-bg--blue {
  background: #00afd4;
}

.o-bg--magenta {
  background: #a2185d;
}

.o-bg--purple {
  background: #662681;
}

.c-header {
  position: relative;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #00afd4), color-stop(50%, transparent));
  background: linear-gradient(180deg, #00afd4 50%, transparent 50%);
}

@media (max-width: 46.875em) {
  .c-header {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(80%, #00afd4), color-stop(50%, transparent));
    background: linear-gradient(180deg, #00afd4 80%, transparent 50%);
  }
}

.c-header__background {
  position: absolute;
  bottom: 32px;
  left: 0;
  right: 0;
  z-index: -1;
  fill: currentColor;
}

.c-header__navbar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-top: 32px;
}

.c-header__mainbox {
  display: block;
  margin: 48px auto 0;
  max-width: 920px;
  text-align: center;
}

.c-header__mainbox h1 {
  font-family: museo, serif;
  color: #fff;
}

.c-header__mainbox-imgbox {
  width: 100%;
  overflow: hidden;
  border-radius: 12px;
  -webkit-box-shadow: 0px 0px 35px 0px rgba(0, 0, 0, 0.33);
          box-shadow: 0px 0px 35px 0px rgba(0, 0, 0, 0.33);
}

.c-header__mainbox-imgbox img {
  width: -moz-available;
}

.body--magenta .c-header {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #a2185d), color-stop(50%, transparent));
  background: linear-gradient(180deg, #a2185d 50%, transparent 50%);
}

.body--magenta .c-header__background--blue {
  display: none;
}

.body--purple .c-header {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #662681), color-stop(50%, transparent));
  background: linear-gradient(180deg, #662681 50%, transparent 50%);
}

.body--purple .c-header__background--blue {
  display: none;
}

.body--blue .c-header__background--magenta {
  display: none;
}

.body--blue .c-header__background--purple {
  display: none;
}

.body--magenta .c-header__background--purple {
  display: none;
}

.body--magenta .c-header__background--blue {
  display: none;
}

.body--purple .c-header__background--magenta {
  display: none;
}

.body--purple .c-header__background--blue {
  display: none;
}

@media (max-width: 46.875em) {
  .c-logo {
    max-width: 100px;
  }
}

.c-navmain__li {
  float: left;
  font-size: 16px;
  font-weight: bold;
  padding: 6px 12px;
  border-radius: 5px;
  border: 2px solid #fff;
  color: #fff;
  margin-left: 20px;
}

@media (max-width: 61.24em) {
  .c-navmain__li {
    display: none;
  }
}

.c-navmain__li--last {
  background: #fff;
  color: #00afd4;
  cursor: pointer;
}

.c-navmain__li--menu {
  display: none;
  padding: 3px 8px;
  font-size: 12px;
  font-weight: 500;
  line-height: 14px;
  border-width: 1px;
}

@media (max-width: 61.24em) {
  .c-navmain__li--menu {
    display: block;
  }
}

.c-navmain__li--active {
  position: relative;
}

.c-navmain__li--active:after,
.c-navmain__li--active:before {
  top: 100%;
  left: 50%;
  border: solid transparent;
  content: " ";
  height: 0;
  width: 0;
  position: absolute;
  cursor: pointer;
  -webkit-transition: all 0.25s ease-out;
  transition: all 0.25s ease-out;
}

.c-navmain__li--active:after {
  border-color: transparent;
  border-top-color: #00afd4;
  border-width: 8px;
  margin-left: -8px;
}

.c-navmain__li--active:before {
  border-color: transparent;
  border-top-color: #fff;
  border-width: 11px;
  margin-left: -11px;
}

.c-navmain__li:hover,
.c-navmain__li:active {
  background: #fff;
  color: #00afd4;
  cursor: pointer;
}

.c-navmain__li:hover:before,
.c-navmain__li:hover:after,
.c-navmain__li:active:before,
.c-navmain__li:active:after {
  border-top-color: #fff;
}

.body--magenta .c-navmain__li--last {
  color: #a2185d;
}

.body--magenta .c-navmain__li:hover,
.body--magenta .c-navmain__li:active {
  color: #a2185d;
}

.body--purple .c-navmain__li--last {
  color: #662681;
}

.body--purple .c-navmain__li:hover,
.body--purple .c-navmain__li:active {
  color: #662681;
}

.c-metanav {
  background: rgba(0, 0, 0, 0.2);
  color: #fff;
  padding: 10px 0;
}

@media (max-width: 50em) {
  .c-metanav {
    display: none;
  }
}

.c-metanav__flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

.c-metanav p {
  font-weight: 100;
  font-size: 14px;
  line-height: 18px;
}

.c-metanav p span {
  font-weight: 500;
}

.c-metanav a:hover {
  text-decoration: underline;
}

.c-metanav ul {
  margin-top: 0;
}

.c-metanav li {
  float: left;
  margin: 0 0 0 5px;
  padding: 0 0 0 5px;
  border-left: 1px solid #ccc;
  font-weight: 500;
  font-size: 14px;
  line-height: 18px;
}

.c-header__navbar {
  opacity: 1;
}

.c-header__navbar.c-mobilenav-open {
  opacity: 0;
}

.c-mobilenav {
  opacity: 0;
  position: fixed;
  z-index: 10;
  left: 0;
  background: #00afd4;
  display: none;
}

@media (max-width: 61.1875em) {
  .c-mobilenav {
    display: block;
  }
}

.c-mobilenav.c-mobilenav-open {
  opacity: 1;
}

.c-mobilenav .c-logo {
  max-width: 154px;
  display: block;
  margin: 81px auto 56px;
}

.c-mobilenav .c-navmain__ul {
  display: grid;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.c-mobilenav .c-navmain__li {
  float: none;
  margin: 0 auto 16px;
  display: block;
  width: 104px;
  text-align: center;
  font-size: 12px;
}

.c-mobilenav .c-navmain__li--sec {
  width: 170px;
  margin-left: 110px;
  text-align: left;
  margin-top: -10px;
}

.c-mobilenav .c-navmain__li--sec-schw {
  background: #662681;
}

.c-mobilenav .c-navmain__li--sec-saug {
  background: #a2185d;
}

.c-mobilenav .c-navmain__li--sec-seni {
  background: #00afd4;
}

.body--magenta .c-mobilenav {
  background: #a2185d;
}

.body--purple .c-mobilenav {
  background: #662681;
}

.c-close-cross {
  position: absolute;
  top: 24px;
  right: 24px;
}

.c-opener {
  margin: 128px 0 82px;
  text-align: center;
}

.c-opener__h2 {
  font-family: Museo, serif;
  color: #00afd4;
}

@media (max-width: 48.115em) {
  .c-opener {
    margin-top: 48px;
    margin-bottom: 48px;
  }
}

@media (max-width: 26.24em) {
  .c-opener {
    margin-top: 48px;
    margin-bottom: 48px;
  }
}

.body--magenta .c-opener__h2 {
  color: #a2185d;
}

.body--purple .c-opener__h2 {
  color: #662681;
}

.c-boxes {
  margin-bottom: 48px;
  position: relative;
}

@media (max-width: 48.115em) {
  .c-boxes {
    margin-bottom: 32px;
  }
}

@media (max-width: 26.24em) {
  .c-boxes {
    margin-bottom: 16px;
  }
}

.c-boxes__grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
}

.c-boxes__grid-box {
  width: 31.5%;
  max-width: 100%;
  min-width: 300px;
  border-radius: 12px;
  padding: 16px 10px 32px;
  text-align: center;
  background: #fff;
  -webkit-box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.5);
          box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.5);
  position: relative;
  margin-bottom: 32px;
}

.c-boxes__grid-box:nth-child(1),
.c-boxes__grid-box:nth-child(2) {
  margin-right: 2.75%;
}

@media (max-width: 43.75em) {
  .c-boxes__grid-box {
    margin: 20px;
    width: calc( 100% - 40px);
  }

  .c-boxes__grid-box:nth-child(1),
  .c-boxes__grid-box:nth-child(2) {
    margin-right: 20px;
  }
}

@media (max-width: 26.24em) {
  .c-boxes__grid-box {
    margin-bottom: 32px;
  }
}

@media (max-width: 23.125em) {
  .c-boxes__grid-box {
    min-width: 210px;
  }
}

.c-boxes__grid-boximg {
  padding: 0;
}

.c-boxes__grid-box.t-transition {
  -webkit-box-shadow: none;
          box-shadow: none;
}

.c-boxes__grid-box:hover,
.c-boxes__grid-box:active {
  -webkit-transform: scale(1);
          transform: scale(1);
}

.c-boxes__grid-box-circle {
  width: 150px;
  height: 150px;
  border-radius: 50%;
  display: inline-block;
  margin-bottom: 32px;
  padding: 20px 19px 19px 27px;
}

.c-boxes__grid-box-link {
  margin-top: 0;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.c-boxes__grid-box--blue .c-boxes__grid-box-circle {
  background: #00589a;
}

.c-boxes__grid-box--blue.t-transition:hover,
.c-boxes__grid-box--blue.t-transition:active {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
  -webkit-box-shadow: 0px 0px 20px 0px rgba(0, 89, 151, 0.5);
          box-shadow: 0px 0px 20px 0px rgba(0, 89, 151, 0.5);
}

.c-boxes__grid-box--purple .c-boxes__grid-box-circle {
  background: #662681;
}

.c-boxes__grid-box--purple.t-transition:hover,
.c-boxes__grid-box--purple.t-transition:active {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
  -webkit-box-shadow: 0px 0px 20px 0px rgba(103, 39, 128, 0.5);
          box-shadow: 0px 0px 20px 0px rgba(103, 39, 128, 0.5);
}

.c-boxes__grid-box--magenta .c-boxes__grid-box-circle {
  background: #a2185d;
}

.c-boxes__grid-box--magenta.t-transition:hover,
.c-boxes__grid-box--magenta.t-transition:active {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
  -webkit-box-shadow: 0px 0px 20px 0px rgba(162, 24, 94, 0.5);
          box-shadow: 0px 0px 20px 0px rgba(162, 24, 94, 0.5);
}

.c-boxes__grid-box p {
  font-size: 16px;
  line-height: 28px;
  font-weight: 100;
}

@media (max-width: 26.24em) {
  .c-boxes__grid-box p {
    font-size: 12px;
    line-height: 24px;
  }
}

.c-boxes__grid-box p strong {
  line-height: 32px;
  margin-bottom: 16px;
}

@media (max-width: 26.24em) {
  .c-boxes__grid-box p strong {
    font-size: 16px;
    line-height: 32px;
  }
}

.c-boxes__img {
  border-radius: 12px;
  width: -webkit-fill-available;
  width: -moz-available;
}

.c-text {
  margin: 32px 0 32px;
  padding: 64px 0 128px;
  position: relative;
}

@media (max-width: 61.24em) {
  .c-text {
    margin: 16px 0 16px;
    padding: 32px 0 64px;
  }
}

@media (max-width: 26.24em) {
  .c-text {
    margin: 16px 0 16px;
    padding: 32px 16px 32px;
  }
}

.c-text .o-wrapper__inside {
  max-width: 1200px;
}

.c-text__grid-box {
  width: 48.5%;
  margin-right: 1.5%;
  float: left;
}

@media (max-width: 46.875em) {
  .c-text__grid-box {
    width: 100%;
    margin: 0 0 20px;
  }
}

.c-text__grid-box-2nd {
  margin-left: 1.5%;
  margin-right: 0;
}

@media (max-width: 46.875em) {
  .c-text__grid-box-2nd {
    width: 100%;
    margin: 0;
  }
}

.c-text__minimal-headline {
  font-weight: 600;
  line-height: 40px;
}

.c-text__background {
  position: absolute;
  bottom: 30px;
  z-index: -2;
  min-width: 1200px;
  width: 100%;
  left: 50%;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
}

.c-btn {
  padding: 16px 20px 16px;
  border: 1px solid #00afd4;
  border-radius: 5px;
  color: #00afd4;
  font-weight: bold;
  font-size: 16px;
  background: none;
  margin-top: 1rem;
}

@media (max-width: 26.24em) {
  .c-btn {
    font-size: 12px;
  }
}

.c-btn:hover,
.c-btn:active {
  background: #00afd4;
  color: #fff;
  cursor: pointer;
}

.body--magenta .c-btn {
  border: 1px solid #a2185d;
  color: #a2185d;
}

.body--magenta .c-btn:hover,
.body--magenta .c-btn:active {
  background: #a2185d;
  color: #fff;
}

.body--purple .c-btn {
  border: 1px solid #662681;
  color: #662681;
}

.body--purple .c-btn:hover,
.body--purple .c-btn:active {
  background: #662681;
  color: #fff;
}

.c-imgbox {
  margin-bottom: 48px;
  position: relative;
}

@media (max-width: 61.24em) {
  .c-imgbox {
    margin-bottom: 32px;
  }
}

@media (max-width: 26.24em) {
  .c-imgbox {
    padding: 0 16px;
  }
}

.c-imgbox__box {
  position: relative;
  z-index: 1;
  padding: 0;
}

.c-imgbox__box-img {
  border-radius: 12px;
  -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.5);
          box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.5);
}

.c-imgbox__box-text {
  position: absolute;
  bottom: 68px;
  right: 80px;
  padding: 40px;
  max-width: 45%;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.7);
}

@media (max-width: 61.24em) {
  .c-imgbox__box-text {
    bottom: 8%;
    right: 8%;
    max-width: 84%;
  }
}

@media (max-width: 46.875em) {
  .c-imgbox__box-text {
    position: static;
    margin: 32px 0 16px;
    padding: 0;
    max-width: 100%;
  }
}

@media (max-width: 46.875em) {
  .c-imgbox__box-text h3 {
    color: #00afd4;
  }
}

.c-imgbox__box-text .c-btn {
  margin-top: 88px;
  padding-left: 20px;
  padding-right: 20px;
}

@media (max-width: 61.24em) {
  .c-imgbox__box-text .c-btn {
    margin-top: 32px;
    font-size: 16px;
  }
}

@media (max-width: 26.24em) {
  .c-imgbox__box-text .c-btn {
    margin-top: 16px;
    font-size: 12px;
  }
}

@media (max-width: 46.875em) {
  .body--magenta .c-imgbox__box-text h3 {
    color: #a2185d;
  }
}

.c-footer__contact {
  background: #8cdbeb;
  text-align: center;
  padding-top: 48px;
  padding-bottom: 48px;
}

.c-footer__contact-h1 {
  color: #fff;
  font-size: 40px;
  font-weight: 500;
  line-height: 70px;
  font-family: museo, serif;
}

@media (max-width: 26.24em) {
  .c-footer__contact-h1 {
    font-size: 24px;
    line-height: 30px;
    margin-bottom: 10px;
  }
}

.c-footer__contact-btn {
  background: #fff;
  border: none;
  color: #00afd4;
  margin-top: 16px;
  padding: 14px 24px;
}

.c-footer__contact-btn:hover,
.c-footer__contact-btn:active {
  background: #fff;
  color: #00afd4;
  cursor: pointer;
}

.c-footer__nav {
  background: #00afd4;
  padding-top: 64px;
  padding-bottom: 64px;
}

@media (max-width: 61.25em) {
  .c-footer__nav {
    padding-top: 21px;
    padding-bottom: 5px;
  }
}

.c-footer__nav .o-wrapper__inside {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media (max-width: 61.25em) {
  .c-footer__nav .o-wrapper__inside {
    display: block;
  }
}

@media (max-width: 61.25em) {
  .c-footer__nav-logo {
    max-width: 104px;
    display: block;
    margin: 0 auto 32px;
  }
}

@media (max-width: 61.25em) {
  .c-footer__nav .c-navmain__ul {
    display: block;
  }
}

@media (max-width: 61.25em) {
  .c-footer__nav .c-navmain__li {
    float: none;
    margin: 0 auto 16px;
    display: block;
    width: 104px;
    text-align: center;
    font-size: 12px;
  }
}

.body--magenta .c-footer__contact {
  background: #ecd0de;
}

.body--magenta .c-footer__contact-btn {
  color: #a2185d;
  background: #fff;
  border: none;
  margin-top: 16px;
  padding: 14px 24px;
}

.body--magenta .c-footer__contact-btn:hover,
.body--magenta .c-footer__contact-btn:active {
  color: #a2185d;
  background: #fff;
  cursor: pointer;
}

.body--magenta .c-footer__nav {
  background: #a2185d;
}

.body--magenta .c-footer__contact-h1 {
  color: #a2185d;
}

.body--purple .c-footer__contact {
  background: #cc89e8;
}

.body--purple .c-footer__contact-btn {
  color: #662681;
  background: #fff;
  border: none;
  margin-top: 16px;
  padding: 14px 24px;
}

.body--purple .c-footer__contact-btn:hover,
.body--purple .c-footer__contact-btn:active {
  color: #662681;
  background: #fff;
  cursor: pointer;
}

.body--purple .c-footer__nav {
  background: #662681;
}

.body--purple .c-footer__contact-h1 {
  color: #662681;
}

.c-listblock {
  padding: 80px 0;
  margin-bottom: 80px;
}

@media (max-width: 26.24em) {
  .c-listblock {
    padding: 32px 16px;
    margin-bottom: 32px;
  }
}

.c-listblock .o-wrapper__inside {
  max-width: 1200px;
}

.c-listblock__grid-box {
  width: 48.5%;
  margin-right: 1.5%;
  float: left;
}

@media (max-width: 46.875em) {
  .c-listblock__grid-box {
    width: 100%;
    margin: 0;
  }
}

.c-listblock__grid-box-2nd {
  margin-left: 1.5%;
  margin-right: 0;
}

@media (max-width: 46.875em) {
  .c-listblock__grid-box-2nd {
    margin: 0;
  }
}

.c-listblock__grid-box p a {
  text-decoration: underline;
}

.c-listblock__grid-box blockquote {
  border-left: 2px solid #ddd;
  margin-left: 15px;
  margin-bottom: 15px;
  padding-left: 15px;
  line-height: 20px;
  font-style: italic;
  color: #ddd;
}

.c-listblock__grid-box blockquote p {
  line-height: 22px;
}

.c-listblock .c-listblock__li {
  list-style-type: disc;
  color: #fff;
  line-height: 40px;
  font-size: 16px;
  margin-left: 20px;
  font-weight: bold;
}

@media (max-width: 26.24em) {
  .c-listblock .c-listblock__li {
    line-height: 30px;
    font-size: 12px;
    font-weight: normal;
  }
}

#map {
  width: 100%;
  height: 800px;
  border-radius: 12px;
  -webkit-box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.5);
          box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.5);
  overflow: hidden;
}

.c-map {
  position: relative;
}

.c-map__overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column;
          flex-flow: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 50px;
  border-radius: 12px;
  background: #fff;
  cursor: pointer;
}

.mCCF--dark {
  background: rgba(0, 0, 0, 0.71);
}

.mCCF--dark .mCCF__accept {
  background: #00afd4;
  color: #fff;
}

