/*------------------------------------*\
    1. BASE
\*------------------------------------*/
/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */
/**
 * 1. Change the default font family in all browsers (opinionated).
 * 2. Correct the line height in all browsers.
 * 3. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 */
/* Document
   ========================================================================== */
   html {
    font-family: sans-serif;
    /* 1 */
    line-height: 1.15;
    /* 2 */
    -ms-text-size-adjust: 100%;
    /* 3 */
    -webkit-text-size-adjust: 100%;
    /* 3 */ }
  
  /* Sections
     ========================================================================== */
  /**
   * Remove the margin in all browsers (opinionated).
   */
  body {
    margin: 0; }
  
  /**
   * Add the correct display in IE 9-.
   */
  article,
  aside,
  footer,
  header,
  nav,
  section {
    display: block; }
  
  /**
   * Correct the font size and margin on `h1` elements within `section` and
   * `article` contexts in Chrome, Firefox, and Safari.
   */
  h1 {
    font-size: 2em;
    margin: 0.67em 0; }
  
  /* Grouping content
     ========================================================================== */
  /**
   * Add the correct display in IE 9-.
   * 1. Add the correct display in IE.
   */
  figcaption,
  figure,
  main {
    /* 1 */
    display: block; }
  
  /**
   * Add the correct margin in IE 8.
   */
  figure {
    margin: 1em 40px; }
  
  /**
   * 1. Add the correct box sizing in Firefox.
   * 2. Show the overflow in Edge and IE.
   */
  hr {
    -webkit-box-sizing: content-box;
            box-sizing: content-box;
    /* 1 */
    height: 0;
    /* 1 */
    overflow: visible;
    /* 2 */ }
  
  /**
   * 1. Correct the inheritance and scaling of font size in all browsers.
   * 2. Correct the odd `em` font sizing in all browsers.
   */
  pre {
    font-family: monospace, monospace;
    /* 1 */
    font-size: 1em;
    /* 2 */ }
  
  /* Text-level semantics
     ========================================================================== */
  /**
   * 1. Remove the gray background on active links in IE 10.
   * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
   */
  a {
    background-color: transparent;
    /* 1 */
    -webkit-text-decoration-skip: objects;
    /* 2 */ }
  
  /**
   * Remove the outline on focused links when they are also active or hovered
   * in all browsers (opinionated).
   */
  a:active,
  a:hover {
    outline-width: 0; }
  
  /**
   * 1. Remove the bottom border in Firefox 39-.
   * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
   */
  abbr[title] {
    border-bottom: none;
    /* 1 */
    text-decoration: underline;
    /* 2 */
    -webkit-text-decoration: underline dotted;
            text-decoration: underline dotted;
    /* 2 */ }
  
  /**
   * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
   */
  b,
  strong {
    font-weight: inherit; }
  
  /**
   * Add the correct font weight in Chrome, Edge, and Safari.
   */
  b,
  strong {
    font-weight: bolder; }
  
  /**
   * 1. Correct the inheritance and scaling of font size in all browsers.
   * 2. Correct the odd `em` font sizing in all browsers.
   */
  code,
  kbd,
  samp {
    font-family: monospace, monospace;
    /* 1 */
    font-size: 1em;
    /* 2 */ }
  
  /**
   * Add the correct font style in Android 4.3-.
   */
  dfn {
    font-style: italic; }
  
  /**
   * Add the correct background and color in IE 9-.
   */
  mark {
    background-color: #ff0;
    color: #000; }
  
  /**
   * Add the correct font size in all browsers.
   */
  small {
    font-size: 80%; }
  
  /**
   * Prevent `sub` and `sup` elements from affecting the line height in
   * all browsers.
   */
  sub,
  sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline; }
  
  sub {
    bottom: -0.25em; }
  
  sup {
    top: -0.5em; }
  
  /* Embedded content
     ========================================================================== */
  /**
   * Add the correct display in IE 9-.
   */
  audio,
  video {
    display: inline-block; }
  
  /**
   * Add the correct display in iOS 4-7.
   */
  audio:not([controls]) {
    display: none;
    height: 0; }
  
  /**
   * Remove the border on images inside links in IE 10-.
   */
  img {
    border-style: none; }
  
  /**
   * Hide the overflow in IE.
   */
  svg:not(:root) {
    overflow: hidden; }
  
  /* Forms
     ========================================================================== */
  /**
   * 1. Change the font styles in all browsers (opinionated).
   * 2. Remove the margin in Firefox and Safari.
   */
  button,
  input,
  optgroup,
  select,
  textarea {
    font-family: sans-serif;
    /* 1 */
    font-size: 100%;
    /* 1 */
    line-height: 1.15;
    /* 1 */
    margin: 0;
    /* 2 */ }
  
  /**
   * Show the overflow in IE.
   * 1. Show the overflow in Edge.
   */
  button,
  input {
    /* 1 */
    overflow: visible; }
  
  /**
   * Remove the inheritance of text transform in Edge, Firefox, and IE.
   * 1. Remove the inheritance of text transform in Firefox.
   */
  button,
  select {
    /* 1 */
    text-transform: none; }
  
  /**
   * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
   *    controls in Android 4.
   * 2. Correct the inability to style clickable types in iOS and Safari.
   */
  button,
  html [type="button"],
  [type="reset"],
  [type="submit"] {
    -webkit-appearance: button;
    /* 2 */ }
  
  /**
   * Remove the inner border and padding in Firefox.
   */
  button::-moz-focus-inner,
  [type="button"]::-moz-focus-inner,
  [type="reset"]::-moz-focus-inner,
  [type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0; }
  
  /**
   * Restore the focus styles unset by the previous rule.
   */
  button:-moz-focusring,
  [type="button"]:-moz-focusring,
  [type="reset"]:-moz-focusring,
  [type="submit"]:-moz-focusring {
    outline: 1px dotted ButtonText; }
  
  /**
   * Change the border, margin, and padding in all browsers (opinionated).
   */
  fieldset {
    border: 1px solid #c0c0c0;
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em; }
  
  /**
   * 1. Correct the text wrapping in Edge and IE.
   * 2. Correct the color inheritance from `fieldset` elements in IE.
   * 3. Remove the padding so developers are not caught out when they zero out
   *    `fieldset` elements in all browsers.
   */
  legend {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    /* 1 */
    color: inherit;
    /* 2 */
    display: table;
    /* 1 */
    max-width: 100%;
    /* 1 */
    padding: 0;
    /* 3 */
    white-space: normal;
    /* 1 */ }
  
  /**
   * 1. Add the correct display in IE 9-.
   * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
   */
  progress {
    display: inline-block;
    /* 1 */
    vertical-align: baseline;
    /* 2 */ }
  
  /**
   * Remove the default vertical scrollbar in IE.
   */
  textarea {
    overflow: auto; }
  
  /**
   * 1. Add the correct box sizing in IE 10-.
   * 2. Remove the padding in IE 10-.
   */
  [type="checkbox"],
  [type="radio"] {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    /* 1 */
    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 */ }
  
  /* Interactive
     ========================================================================== */
  /*
   * Add the correct display in IE 9-.
   * 1. Add the correct display in Edge, IE, and Firefox.
   */
  details,
  menu {
    display: block; }
  
  /*
   * Add the correct display in all browsers.
   */
  summary {
    display: list-item; }
  
  /* Scripting
     ========================================================================== */
  /**
   * Add the correct display in IE 9-.
   */
  canvas {
    display: inline-block; }
  
  /**
   * Add the correct display in IE.
   */
  template {
    display: none; }
  
  /* Hidden
     ========================================================================== */
  /**
   * Add the correct display in IE 10-.
   */
  [hidden] {
    display: none; }
  
  /*------------------------------------*\
      1. RESPONSIVE MEDIA QUERY MIXINS
  \*------------------------------------*/
  /*------------------------------------*\
      1. VARIABLES
  \*------------------------------------*/
  /*------------------------------------*\
      2. COLORS
  \*------------------------------------*/
  /*------------------------------------*\
      3. FONTS
  \*------------------------------------*/
  /*------------------------------------*\
     4. Z-LEVELS
  \*------------------------------------*/
  /*------------------------------------*\
      1. GRADIENTS
  \*------------------------------------*/
  /*------------------------------------*\
      2. CLEARFIX
  \*------------------------------------*/
  /*------------------------------------*\
      2. LAYOUT
  \*------------------------------------*/
  /*------------------------------------*\
      1. BASE
  \*------------------------------------*/
  *, *:before, *:after {
    -webkit-box-sizing: border-box;
            box-sizing: border-box; }
  
  /*------------------------------------*\
      2. BASE
  \*------------------------------------*/
  html, body {
    height: 100%; }
  
  body {
    background-repeat: repeat;
    background-size: 720px auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    min-height: 100%;
    height: 100%; }
    @media only screen and (min-width: 1024px) {
      body {
        overflow: hidden; } }
  
  /*------------------------------------*\
      1. TYPOGRAHPY
  \*------------------------------------*/
  html {
    color: white;
    font-family: "din-2014", sans-serif;
    font-size: 100%;
    font-size: 16px;
    font-weight: 300; }
  
  /*------------------------------------*\
      2. PARAGRAPH
  \*------------------------------------*/
  p {
    margin: 0;
    padding: 0.5rem 0; }
  
  /*------------------------------------*\
      3. TITLE
  \*------------------------------------*/
  h1, h2, h3, h4, h5, h6 {
    font-family: "din-2014", sans-serif;
    font-weight: 500;
    line-height: 1.25;
    margin: 0; }
  
  h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
    text-decoration: none; }
  
  h1 {
    font-size: 1.55rem;
    padding-bottom: 1rem; }
    @media only screen and (min-width: 480px) {
      h1 {
        font-size: 2rem; } }
    @media only screen and (min-width: 768px) {
      h1 {
        font-size: 2.15rem; } }
    @media only screen and (min-width: 1024px) {
      h1 {
        font-size: 2.35rem; } }
    @media only screen and (min-width: 1280px) {
      h1 {
        font-size: 3.075rem; } }
  
  h2 {
    font-size: 1.45rem;
    padding: 2rem 0 0.25rem; }
    @media only screen and (min-width: 480px) {
      h2 {
        font-size: 1.85rem; } }
    @media only screen and (min-width: 768px) {
      h2 {
        padding: 2.75rem 0 0.25rem;
        font-size: 1.55rem; } }
    @media only screen and (min-width: 1024px) {
      h2 {
        font-size: 1.75rem; } }
    @media only screen and (min-width: 1280px) {
      h2 {
        font-size: 1.875rem; } }
  
  h3 {
    font-size: 1.45rem;
    padding: 1.65rem 0 0.25rem; }
    @media only screen and (min-width: 480px) {
      h3 {
        font-size: 1.7rem; } }
    @media only screen and (min-width: 768px) {
      h3 {
        font-size: 1.35rem;
        padding: 2rem 0 0.25rem; } }
    @media only screen and (min-width: 1024px) {
      h3 {
        font-size: 1.45rem; } }
    @media only screen and (min-width: 1280px) {
      h3 {
        font-size: 1.55rem; } }
  
  h4 {
    font-size: 1.25rem;
    padding: 1.25rem 0 0.15rem; }
    @media only screen and (min-width: 480px) {
      h4 {
        font-size: 1.7rem; } }
    @media only screen and (min-width: 768px) {
      h4 {
        font-size: 1.35rem;
        padding: 1.5rem 0 0.15rem; } }
    @media only screen and (min-width: 1024px) {
      h4 {
        font-size: 1.45rem; } }
    @media only screen and (min-width: 1280px) {
      h4 {
        font-size: 1.45; } }
  
  h5 {
    font-size: 1.2rem;
    padding: 1.15rem 0 0.65rem; }
    @media only screen and (min-width: 480px) {
      h5 {
        font-size: 1.5rem; } }
    @media only screen and (min-width: 768px) {
      h5 {
        font-size: 1.65rem;
        padding: 1.5rem 0 0.15rem; } }
    @media only screen and (min-width: 1024px) {
      h5 {
        font-size: 1.45rem; } }
    @media only screen and (min-width: 1280px) {
      h5 {
        font-size: 1.25rem; } }
  
  /*------------------------------------*\
      4. LINKS
  \*------------------------------------*/
  a {
    color: rgba(255, 255, 255, 0.7);
    -webkit-transition: 200ms all linear;
    -o-transition: 200ms all linear;
    transition: 200ms all linear;
    text-decoration: none; }
    a:hover, a:focus {
      color: white; }
  
  /*------------------------------------*\
      5. BUTTONS
  \*------------------------------------*/
  a.button {
    background-color: #255ea4;
    border: 0.15rem solid #255ea4;
    border-top-left-radius: 0.5rem;
    border-bottom-right-radius: 0.5rem;
    color: white;
    display: inline-block;
    font-size: 1rem;
    font-weight: 300;
    margin-top: 1rem;
    padding: 0.7rem 1.2rem;
    text-decoration: none;
    -webkit-transition: 100ms all linear;
    -o-transition: 100ms all linear;
    transition: 100ms all linear; }
    @media only screen and (min-width: 640px) {
      a.button {
        font-size: 1.15rem;
        padding: 0.725rem 1.225rem; } }
    @media only screen and (min-width: 768px) {
      a.button {
        font-size: 1.25rem;
        padding: 0.75rem 1.25rem; } }
    a.button:hover, a.button:focus {
      background-color: white;
      color: #255ea4; }
    a.button.negative {
      background-color: transparent;
      border-color: white;
      color: white; }
      a.button.negative:hover, a.button.negative:focus {
        background-color: white;
        color: #255ea4; }
  
  /*------------------------------------*\
      6. LISTS
  \*------------------------------------*/
  ol, ul {
    list-style-type: none;
    margin: 0;
    padding: 0; }
  
  /*------------------------------------*\
      7. BLOCKQUOTE
  \*------------------------------------*/
  blockquote {
    background-color: #2a99ba;
    border-left: 0.35rem solid #143257;
    font-style: italic;
    margin: 0.75rem 0;
    padding: 0.65rem 2rem; }
  
  /*------------------------------------*\
      1. IMAGES & FIGURE
  \*------------------------------------*/
  img {
    max-width: 100%;
    height: auto; }
  
  article img {
    padding: 1rem 0; }
  
  article figure {
    margin: 0;
    max-width: 100%;
    padding: 1rem 0; }
    article figure img {
      padding-bottom: 0.25rem; }
    article figure figcaption {
      text-align: right;
      font-size: 0.95rem; }
  
  /*------------------------------------*\
      2. GALERIE
  \*------------------------------------*/
  .lSSlideOuter {
    padding: 2rem 0; }
    .lSSlideOuter .lSPager {
      display: none;
      margin-top: 0 !important; }
      @media only screen and (min-width: 768px) {
        .lSSlideOuter .lSPager {
          display: block; } }
    .lSSlideOuter ul {
      padding: 0; }
      .lSSlideOuter ul li {
        padding: 0;
        margin: 0; }
        .lSSlideOuter ul li::before {
          content: none; }
    .lSSlideOuter img {
      padding: 0; }
  
  /*------------------------------------*\
      1. FORMS
  \*------------------------------------*/
  form {
    position: relative; }
  
  input {
    font-family: "din-2014", sans-serif;
    line-height: normal;
    max-width: 100%; }
  
  input, select {
    font-size: 1.45rem; }
    @media only screen and (min-width: 1280px) {
      input, select {
        font-size: 2rem; } }
    @media only screen and (min-width: 1920px) {
      input, select {
        font-size: 2.85rem; } }
  
  input[type="text"],
  input[type="email"],
  input[type="url"],
  input[type="password"],
  input[type="search"],
  input[type="tel"],
  input[type="number"],
  input[type="file"],
  textarea {
    background-color: #f0f0f0;
    border: 2px #f0f0f0;
    border-radius: 0.25rem;
    -webkit-box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.35);
    box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.35);
    color: #2c2c2c;
    display: block;
    height: 20px;
    text-align: right;
    line-height: 1.2;
    padding: 0.55rem 0.75rem 0.5rem;
    -webkit-transition: all 0.55s ease;
    -o-transition: all 0.55s ease;
    transition: all 0.55s ease;
    outline: 0;
    width: 100%;
    -webkit-appearance: none;
    padding: 20px 4px;
    }
    @media only screen and (min-width: 1024px) {
      input[type="text"],
      input[type="email"],
      input[type="url"],
      input[type="password"],
      input[type="search"],
      input[type="tel"],
      input[type="number"],
      input[type="file"],
      textarea {
        height: 40px; } }
    @media only screen and (min-width: 1280px) {
      input[type="text"],
      input[type="email"],
      input[type="url"],
      input[type="password"],
      input[type="search"],
      input[type="tel"],
      input[type="number"],
      input[type="file"],
      textarea {
        height: 50px; } }
    @media only screen and (min-width: 1920px) {
      input[type="text"],
      input[type="email"],
      input[type="url"],
      input[type="password"],
      input[type="search"],
      input[type="tel"],
      input[type="number"],
      input[type="file"],
      textarea {
        height: 62px; } }
    input[type="text"].error,
    input[type="email"].error,
    input[type="url"].error,
    input[type="password"].error,
    input[type="search"].error,
    input[type="tel"].error,
    input[type="number"].error,
    input[type="file"].error,
    textarea.error {
      border: 6px solid #af1919; }
    input[type="text"]:focus,
    input[type="email"]:focus,
    input[type="url"]:focus,
    input[type="password"]:focus,
    input[type="search"]:focus,
    input[type="tel"]:focus,
    input[type="number"]:focus,
    input[type="file"]:focus,
    textarea:focus {
      border: 1px solid #255ea4; }
    @media only screen and (min-width: 1390px) {
      input[type="text"],
      input[type="email"],
      input[type="url"],
      input[type="password"],
      input[type="search"],
      input[type="tel"],
      input[type="number"],
      input[type="file"],
      textarea {
        padding: 0.75rem 0.75rem 0.675rem; } }
  
  label {
    font-weight: 400;
    font-size: 1rem;
    display: block;
    padding-bottom: 0.5rem; }
  
  select {
    background-color: #f0f0f0;
    border: 2px #f0f0f0;
    -webkit-box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.35);
            box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.35);
    border-radius: 0.25rem;
    color: #2c2c2c;
    display: block;
    line-height: 1.6;
    padding: 0.55rem 0.75rem 0.5rem;
    margin-bottom: 0.75rem;
    -webkit-transition: all 0.55s ease;
    -o-transition: all 0.55s ease;
    transition: all 0.55s ease;
    width: 100%;
    height: 40px;
    text-align: right; }
    @media only screen and (min-width: 1024px) {
      select {
        height: 72px; } }
    select.error {
      border: 6px solid #af1919; }
  
  textarea {
    font-family: white; }
  
  button,
  input[type="submit"],
  input[type="button"] {
    border: 1px solid #d94b89;
    border-radius: 2rem;
    -webkit-box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.35);
            box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.35);
    background-color: #d94b89;
    color: white;
    cursor: pointer;
    display: block;
    font-size: 1.45rem;
    font-weight: 300;
    letter-spacing: 1px;
    float: none !important;
    line-height: 1;
    margin-top: 1rem;
    padding: 0.75rem 2.45rem 0.675rem;
    margin-left: auto !important;
    text-transform: uppercase;
    text-align: center;
    -webkit-transition: all 0.55s ease;
    -o-transition: all 0.55s ease;
    transition: all 0.55s ease;
    width: auto;
    width: 100%;
    -webkit-appearance: none; }
    button:hover, button:focus,
    input[type="submit"]:hover,
    input[type="submit"]:focus,
    input[type="button"]:hover,
    input[type="button"]:focus {
      background-color: #255ea4;
      border: 1px solid #255ea4; }
    button:disabled,
    input[type="submit"]:disabled,
    input[type="button"]:disabled {
      opacity: 0.65;
      cursor: not-allowed !important; }
      button:disabled:hover, button:disabled:focus,
      input[type="submit"]:disabled:hover,
      input[type="submit"]:disabled:focus,
      input[type="button"]:disabled:hover,
      input[type="button"]:disabled:focus {
        border: 1px solid #d94b89;
        background-color: #d94b89; }
    @media only screen and (min-width: 768px) {
      button,
      input[type="submit"],
      input[type="button"] {
        width: auto; } }
  
  /* NINJA FORMS */
  .submit-container .nf-before-field {
    margin-left: auto; }
  
  /*------------------------------------*\
      1. CUSTOM SELECT
  \*------------------------------------*/
  .custom-select {
    font-weight: 400;
    position: relative; }
    .custom-select select {
      display: none; }
  
  .select-selected {
    background-color: #f0f0f0;
    border-radius: 0.25rem;
    -webkit-box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.35);
            box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.35);
    color: #2c2c2c;
    font-size: 1.45rem;
    height: 40px; }
    @media only screen and (min-width: 1024px) {
      .select-selected {
        height: 40px;
        } }
    @media only screen and (min-width: 1280px) {
      .select-selected {
        font-size: 2rem;
        height: 50px;
        } }
    @media only screen and (min-width: 1920px) {
      .select-selected {
        font-size: 2.85rem;
        height: 72px; } }
  
  /*style the arrow inside the select element:*/
  .select-selected:after {
    position: absolute;
    content: "";
    top: 14px;
    right: 10px;
    width: 0;
    height: 0;
    border: 6px solid transparent;
    border-color: #fff transparent transparent transparent; }
  
  /*point the arrow upwards when the select box is open (active):*/
  .select-selected.select-arrow-active:after {
    border-color: transparent transparent #fff transparent;
    top: 7px; }
  
  /*style the items (options), including the selected item:*/
  .select-items div, .select-selected {
    padding: 4px 16px;
    border: 1px solid transparent;
    border-color: transparent transparent rgba(0, 0, 0, 0.1) transparent;
    cursor: pointer;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none; }
    @media only screen and (min-width: 1024px) {
      .select-items div, .select-selected {
        padding: 2px 16px;
        } }
    @media only screen and (min-width: 1920px) {
      .select-items div, .select-selected {
        padding: 4px 16px; } }
  
  /*style items (options):*/
  .select-items {
    position: absolute;
    background-color: #d94b89;
    color: white;
    font-size: 1.25rem;
    font-weight: 300;
    top: 40px;
    left: 0;
    right: 0;
    max-height: 16.5rem;
    z-index: 5001;
    overflow-y: scroll; }
    @media only screen and (min-width: 768px) {
      .select-items {
        max-height: 22.5rem; } }
    @media only screen and (min-width: 1024px) {
      .select-items {
        font-size: 1.2rem;
        top: 50px; } }
    @media only screen and (min-width: 1280px) {
      .select-items {
        top: 60px; } }
    @media only screen and (min-width: 1920px) {
      .select-items {
        top: 72px; } }
  
  /*hide the items when the select box is closed:*/
  .select-hide {
    display: none; }
  
  .select-items div:hover, .same-as-selected {
    background-color: rgba(0, 0, 0, 0.1); }
  
  /*------------------------------------*\
      1. BASIC TABLE
  \*------------------------------------*/
  .table-wrapper {
    margin: 2rem 0;
    overflow-x: auto; }
  
  table {
    background-color: #2a99ba;
    border-collapse: collapse;
    font-size: 0.75rem;
    max-width: 100%;
    min-width: 100%; }
    @media only screen and (min-width: 640px) {
      table {
        font-size: 0.9rem; } }
    table thead {
      background-color: #255ea4;
      font-weight: bold; }
    table td, table th {
      padding: 0.35rem    0.475rem; }
    table tfoot {
      border-top: 1px dotted white;
      border-bottom: 3px solid white; }
  
  table.striped tbody tr:nth-child(odd) {
    background-color: #278dab; }
  
  /*------------------------------------*\
      3. MODULES
  \*------------------------------------*/
  /*------------------------------------*\
      1. HEADER
  \*------------------------------------*/
  header {
    position: absolute;
    top: 2rem;
    left: 2rem;
    z-index: 6001; }
    header img {
      width: 65px;
      height: auto; }
      @media only screen and (min-width: 640px) {
        header img {
          width: 80px; } }
      @media only screen and (min-width: 1280px) {
        header img {
          width: 90px; } }
  
  /*------------------------------------*\
      1. FOOTER
  \*------------------------------------*/
  footer {
    border-top: 1px dotted rgba(255, 255, 255, 0.65);
    font-size: 0.75rem;
    padding-top: 0.85rem;
    margin-top: 0.85rem;
    width: 100%; }
    @media only screen and (min-width: 1024px) {
      footer {
        border-top: none;
        position: absolute;
        left: 2rem;
        bottom: 1rem; } }
    footer p {
      padding: 0; }
  
  /*------------------------------------*\
      1. CONFETTI
  \*------------------------------------*/
  canvas {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none; }
  
  /*------------------------------------*\
      4. VIEWS
  \*------------------------------------*/
  /*------------------------------------*\
      1. FRONTPAGE
  \*------------------------------------*/
  main {
    background-image: url("../img/man-background.jpg");
    background-size: cover;
    background-position: center center;
    -webkit-box-flex: 1;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
    height: 100%; }
    @media only screen and (min-width: 1024px) {
      main > div {
        height: 100%; } }
    @media only screen and (min-width: 1024px) {
      main {
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap; } }
  
  /* CONTENT */
  #content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 2rem 1rem;
    background: #06457b;
    background: -webkit-linear-gradient(-45deg, #06457b 0%, #106fb0 99%);
    background: -webkit-linear-gradient(315deg, #06457b 0%, #106fb0 99%);
    background: -o-linear-gradient(315deg, #06457b 0%, #106fb0 99%);
    background: linear-gradient(135deg, #06457b 0%, #106fb0 99%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#06457b', endColorstr='#106fb0',GradientType=1 );
    width: 100%;
    opacity: 0.95; }
    @media only screen and (min-width: 640px) {
      #content {
        padding: 4rem 3rem; } }
    @media only screen and (min-width: 1024px) {
      #content {
        padding: 6rem 6rem 0 2rem;
        -webkit-box-ordinal-group: 2;
            -ms-flex-order: 1;
                order: 1;
        width: 50%;
        -webkit-clip-path: polygon(0 0, 75% 0, 100% 100%, 0% 100%);
        clip-path: polygon(0 0, 75% 0, 100% 100%, 0% 100%);
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
        height: 100vh; } }
    @media only screen and (min-width: 1280px) {
      #content {
        padding: 6rem 9.25rem 0 3.25rem; } }
    @media only screen and (min-width: 1440px) {
      #content {
        padding: 6rem 12.5rem 0 4.5rem; } }
    @media only screen and (min-width: 1920px) {
      #content {
        padding: 0 17.5rem 6.25rem 7.5rem; } }
    #content .inner {
      font-size: 1.2rem;
      line-height: 1.45;
      padding: 0; }
      @media only screen and (min-width: 768px) {
        #content .inner {
          max-width: 640px; } }
      @media only screen and (min-width: 1024px) {
        #content .inner {
          font-size: 0.9rem;
          padding: 0;
          max-width: none;
          margin-top: 50px;
          } }
      @media only screen and (min-width: 1390px) {
        #content .inner {
          font-size: 1rem; } }
      @media only screen and (min-width: 1600px) {
        #content .inner {
          font-size: 1.15rem; } }
      @media only screen and (min-width: 1920px) {
        #content .inner {
          font-size: 1.25rem;
          max-width: 860px;
          margin-top: 150px;
          } }
    #content .salutation {
      font-weight: 500;
      font-size: 1.35rem; }
      @media only screen and (min-width: 1390px) {
        #content .salutation {
          font-size: 1.75rem; } }
      @media only screen and (min-width: 1600px) {
        #content .salutation {
          font-size: 2.1rem; } }
    #content .data-policy {
      font-size: 0.85rem;
      margin-left: auto;
      text-align: right;
      width: 85%; }
      @media only screen and (min-width: 640px) {
        #content .data-policy {
          width: 75%; } }
      @media only screen and (min-width: 1024px) {
        #content .data-policy {
          width: 90%;
          max-width: 320px; } }
  
  /* IMAGE */
  #image {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    position: relative;
    height: 100%;
    width: 100%; }
    @media only screen and (min-width: 1024px) {
      #image {
        width: 50%;
        -webkit-box-ordinal-group: 3;
            -ms-flex-order: 2;
                order: 2;
        height: 100vh; } }
  
  #image .slogan {
    display: block;
    font-family: 'Kaushan Script', cursive;
    font-size: 3.5rem;
    position: absolute;
    top: 55%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    text-align: center; padding-right: 70%;}
    @media only screen and (min-width: 480px) {
      #image .slogan {
        font-size: 4.5rem;
        left: 80%!important; } }
    @media only screen and (min-width: 640px) {
      #image .slogan {
        left: 80%!important;
        font-size: 6rem; }
      
      }
    @media only screen and (min-width: 1024px) {
      #image .slogan {
        left: 80%!important;
        font-size: 4.15rem;
         }
      }
    @media only screen and (min-width: 1280px) {
      #image .slogan {
        font-size: 5.15rem; } }
    @media only screen and (min-width: 1440px) {
      #image .slogan {
        font-size: 6.15rem; } }
    @media only screen and (min-width: 1600px) {
      #image .slogan {
        font-size: 7rem; } }
    @media only screen and (min-width: 1920px) {
      #image .slogan {
        font-size: 8rem; } }
    #image .slogan div {
      display: block;
      -webkit-transform: rotate(-12.5deg);
          -ms-transform: rotate(-12.5deg);
              transform: rotate(-12.5deg); }
    #image .slogan span {
      opacity: 0;
      text-shadow: 0px 0px 8px rgba(66, 66, 66, 0.25); }
      #image .slogan span.animated {
        display: 1; }
  
  #image .confetti-button {
    -webkit-animation: buttonBubbling 1s infinite alternate;
            animation: buttonBubbling 1s infinite alternate;
    background-color: #d94b89;
    border-radius: 50%;
    -webkit-box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.35);
            box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.35);
    color: white;
    display: none;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 6rem;
    width: 6rem;
    cursor: pointer;
    position: absolute;
    bottom: 1rem;
    right: 1rem;
    -webkit-transition: 200ms all linear;
    -o-transition: 200ms all linear;
    transition: 200ms all linear; }
    @media only screen and (min-width: 640px) {
      #image .confetti-button {
        height: 8rem;
        width: 8rem; } }
    @media only screen and (min-width: 768px) {
      #image .confetti-button {
        bottom: 2rem;
        right: 2rem; } }
    @media only screen and (min-width: 1390px) {
      #image .confetti-button {
        height: 10rem;
        width: 10rem; } }
    #image .confetti-button:hover, #image .confetti-button:focus {
      background-color: white;
      color: #d94b89;
      -webkit-transform: scale(1.1);
          -ms-transform: scale(1.1);
              transform: scale(1.1); }
    #image .confetti-button.active {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
    #image .confetti-button span {
      font-family: 'Kaushan Script', cursive;
      display: block;
      text-align: center;
      font-size: 1.25rem;
      line-height: 1;
      -webkit-transform: rotate(-12.5deg);
          -ms-transform: rotate(-12.5deg);
              transform: rotate(-12.5deg); }
      @media only screen and (min-width: 640px) {
        #image .confetti-button span {
          font-size: 1.5rem; } }
      @media only screen and (min-width: 1024px) {
        #image .confetti-button span {
          font-size: 2rem; } }
  
  @-webkit-keyframes buttonBubbling {
    From {
      -webkit-transform: scale(0.85);
              transform: scale(0.85); }
    To {
      -webkit-transform: scale(1.1);
              transform: scale(1.1); } }
  
  /* FORM */
  ::-webkit-input-placeholder {
    color: white;
    opacity: 0.75; }
  :-ms-input-placeholder {
    color: white;
    opacity: 0.75; }
  ::-ms-input-placeholder {
    color: white;
    opacity: 0.75; }
  ::placeholder {
    color: white;
    opacity: 0.75; }
  
  ::-webkit-input-placeholder {
    /* Chrome/Opera/Safari */
    color: white;
    opacity: 0.75; }
  
  ::-moz-placeholder {
    /* Firefox 19+ */
    color: white;
    opacity: 0.75; }
  
  :-ms-input-placeholder {
    /* IE 10+ */
    color: white;
    opacity: 0.75; }
  
  :-moz-placeholder {
    /* Firefox 18- */
    color: white;
    opacity: 0.75; }
  
  input.personname,
  input.email,
  input.firma,
  input.telefon,
  input.adresse,
  input.ort,
  input.funktion {
    background-color: transparent;
    -webkit-box-shadow: none;
            box-shadow: none;
    border-bottom: 2px dotted white;
    border-radius: 0;
    color: white;
    display: inline-block;
    font-size: 1.45rem;
    margin-bottom: 0.5rem;
    padding: 0.5rem 0;
    height: auto;
    line-height: 1;
    width: 100%;
    text-align: left;
    -webkit-transition: 200ms all linear;
    -o-transition: 200ms all linear;
    transition: 200ms all linear; }
    @media only screen and (min-width: 1280px) {
      input.personname,
      input.email,
      input.firma,
      input.telefon,
      input.adresse,
      input.ort,
      input.funktion {
        font-size: 1.3rem;
        width: 20rem; } }
    @media only screen and (min-width: 1390px) {
      input.personname,
      input.email,
      input.firma,
      input.telefon,
      input.adresse,
      input.ort,
      input.funktion  {
        font-size: 1rem;
        width: 21.5rem; } }
    @media only screen and (min-width: 1600px) {
      input.personname,
      input.email,
      input.firma,
      input.telefon,
      input.adresse,
      input.ort,
      input.funktion  {
        font-size: 1.25rem;
        width: 25rem; } }
    input.personname.empty,
    input.email.empty,
    input.firma.empty,
    input.telefon.empty,
    input.adresse.empty,
    input.ort.empty,
    input.funktion.empty  {
      border-bottom: 4px solid #d94b89; }
  
  @media only screen and (min-width: 1920px) {
    input.personname,
    input.email,
    input.firma,
    input.telefon,
    input.adresse,
    input.ort,
    input.funktion,  {
      margin: 0 0.5rem 0 0; } }
  
  @media only screen and (min-width: 2362px) {
    input.personname,
    input.email,
    input.firma,
    input.telefon,
    input.adresse,
    input.ort,
    input.funktion  {
      margin: 0 0.5rem; } }
  
  #birthday-form-select {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 0.25rem 0 1rem; }
    #birthday-form-select > div {
      margin-bottom: 1rem; }
      @media only screen and (min-width: 1024px) {
        #birthday-form-select > div {
          margin-bottom: 0;
          -webkit-box-flex: 1;
              -ms-flex-positive: 1;
                  flex-grow: 1;
          -ms-flex-preferred-size: 0;
              flex-basis: 0; } }
    @media only screen and (min-width: 1024px) {
      #birthday-form-select {
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap; } }
    #birthday-form-select .select-day {
      width: 100%; }
      @media only screen and (min-width: 1024px) {
        #birthday-form-select .select-day {
          margin-right: 1rem;
          width: 20%; } }
      #birthday-form-select .select-day .info {
        color: white;
        display: none;
        text-align: right;
        margin-top: 0.5rem; }
    #birthday-form-select .select-month {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      width: 100%;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      @media only screen and (min-width: 1024px) {
        #birthday-form-select .select-month {
          margin-right: 1rem;
          width: 40%; } }
      #birthday-form-select .select-month div {
        width: 100%; }
      #birthday-form-select .select-month .info {
        color: white;
        display: none;
        -webkit-box-ordinal-group: 3;
            -ms-flex-order: 2;
                order: 2;
        margin-top: 0.5rem; }
    #birthday-form-select .select-year {
      width: 100%; }
      @media only screen and (min-width: 1024px) {
        #birthday-form-select .select-year {
          width: 40%; } }
    #birthday-form-select .info {
      font-size: 0.875rem;
      text-align: right;
      margin-top: -0.25rem; }
      #birthday-form-select .info p {
        padding: 0; }
  
  #nf-form-6-cont .nf-form-title-6,
  #nf-form-6-cont .nf-form-title,
  #nf-form-6-cont .nf-before-form-content,
  #nf-form-6-cont .nf-response-msg {
    display: none !important; }
  
  #nf-form-6-cont .hidden {
    display: none !important; }
  
  #nf-form-6-cont .submit {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important; }
  
  #nf-field-20-wrap {
    display: block; }
  
 .wpcf7 form.sent .wpcf7-response-output {
      border-color: #ffffff!important;
      color: black!important;
      border: none!important;
      font-size: 16px!important;
      padding: 0px!important;
      margin: 0px!important;
  }
  .custom-loader {
    background-color: #d94b89;
    border-radius: 50%;
    -webkit-box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.25);
            box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.25);
    height: 10rem;
    width: 10rem;
    display: none;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    position: fixed;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%); }
    @media only screen and (min-width: 1280px) {
      .custom-loader {
        height: 15rem;
        width: 15rem; } }
    .custom-loader.active {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
    .custom-loader i {
      font-size: 4.5rem;
      -webkit-animation: spin 0.85s linear infinite;
              animation: spin 0.85s linear infinite; }
      @media only screen and (min-width: 1280px) {
        .custom-loader i {
          font-size: 6.45rem; } }
  
  .thank-you-message {
    font-family: 'Kaushan Script', cursive;
    text-shadow: 0px 0px 8px rgba(66, 66, 66, 0.25);
    display: none;
    font-size: 2rem;
    position: fixed;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    text-align: center;
    width: 90%;
    z-index: 8801; }
    @media only screen and (min-width: 480px) {
      .thank-you-message {
        font-size: 3rem; } }
    @media only screen and (min-width: 640px) {
      .thank-you-message {
        font-size: 3.75rem; } }
    @media only screen and (min-width: 1024px) {
      .thank-you-message {
        font-size: 8vw;
        width: 90%; } }
    .thank-you-message.active {
      display: block; }
  
  @-webkit-keyframes spin {
    100% {
      -webkit-transform: rotate(360deg);
              transform: rotate(360deg); } }
  
  @keyframes spin {
    100% {
      -webkit-transform: rotate(360deg);
              transform: rotate(360deg); } }
  
  video {
    display: none;
    position: fixed;
    right: 0;
    bottom: 0;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    z-index: 7001; }
    
    
    @media only screen and (max-width: 480px) {
      #image .slogan {
 
        left: 80%!important;
       
    } }