/*------------------------------------*\
    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 {
  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 */
  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 {
  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"] {
  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. MIXINS
\*------------------------------------*/
/*------------------------------------*\
    2. CLEARFIX
\*------------------------------------*/
/* WOOCOMMERCE OVERWRITES */
/*------------------------------------*\
    1. WOOCOMMERCE (WOOCOMMERCE OVERWRITES)
\*------------------------------------*/
/*------------------------------------*\
    SINGLE-PAGE
\*------------------------------------*/
.woocommerce-product-gallery {
  float: none !important; }

.entry-summary {
  float: none !important;
  width: 100% !important; }

.tm-extra-product-options ul.tmcp-elements li.tmcp-field-wrap {
  padding: 0; }

/* COLOR VARIATIONS */
.variations tbody > tr {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .variations tbody > tr td {
    display: block;
    width: 100%; }

/* HIDE REQUIRED */
.tm-epo-required {
  display: none; }

/* REMOVE TM-EXTRA PRODUCT OPTIONS TOTAL */
#tm-epo-totals {
  display: none !important; }

/*------------------------------------*\
    2. LAYOUT
\*------------------------------------*/
/*------------------------------------*\
    1. BASE
\*------------------------------------*/
*, *:before, *:after {
  box-sizing: border-box; }

/*------------------------------------*\
    2. BASE
\*------------------------------------*/
html, body {
  height: 100%; }

body.fixed {
  position: relative; }

#page-wrapper {
  background-color: #323133;
  min-height: 100%; }

#main-wrapper {
  background-color: white;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  margin: 0 0;
  min-height: 100vh;
  position: relative;
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
  overflow-x: hidden; }
  #main-wrapper.mobile-nav-opened {
    -webkit-transform: translateX(250px);
        -ms-transform: translateX(250px);
            transform: translateX(250px); }

#outer-wrapper {
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 auto;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto; }

#inner-wrapper {
  padding-top: 4.75rem; }
  @media only screen and (min-width: 1024px) {
    #inner-wrapper {
      padding-top: 0; } }

main {
  max-width: 960px;
  margin: 0 auto;
  padding: 2.5rem 0; }
  @media only screen and (min-width: 1280px) {
    main {
      padding: 3.25rem 0 2.5rem; } }
  @media only screen and (min-width: 1390px) {
    main {
      padding: 4rem 0 2.5rem; } }

/*------------------------------------*\
    1. TYPOGRAHPY
\*------------------------------------*/
html {
  color: #1a171b;
  font-family: "Open Sans", sans-serif;
  font-size: 100%; }

body,
button,
input,
select,
textarea {
  font-size: 0.875rem;
  line-height: 1.6;
  font-weight: 300; }
  @media only screen and (min-width: 480px) {
    body,
    button,
    input,
    select,
    textarea {
      font-size: 1rem; } }
  @media only screen and (min-width: 1440px) {
    body,
    button,
    input,
    select,
    textarea {
      font-size: 1.05rem; } }

/*------------------------------------*\
    2. PARAGRAPH
\*------------------------------------*/
p {
  margin: 0;
  padding: 0.5rem 0; }

/*------------------------------------*\
    3. TITLE
\*------------------------------------*/
h1, h2, h3, h4, h5, h6 {
  font-family: "Open Sans", 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;
  text-transform: uppercase;
  font-weight: 600; }
  @media only screen and (min-width: 480px) {
    h1 {
      font-size: 1.5rem; } }
  @media only screen and (min-width: 768px) {
    h1 {
      font-size: 1.65rem; } }
  @media only screen and (min-width: 1280px) {
    h1 {
      font-size: 1.85rem; } }

h2 {
  font-size: 1.45rem;
  font-weight: 600;
  padding: 1.2rem 0 0.65rem;
  text-transform: uppercase; }
  @media only screen and (min-width: 480px) {
    h2 {
      font-size: 1.375rem; } }
  @media only screen and (min-width: 768px) {
    h2 {
      padding: 1rem 0 0.75rem;
      font-size: 1.2rem; } }
  @media only screen and (min-width: 1280px) {
    h2 {
      font-size: 1.45rem; } }

/*------------------------------------*\
    4. LINKS
\*------------------------------------*/
a {
  color: #899aab;
  -webkit-transition: 200ms all linear;
  transition: 200ms all linear;
  text-decoration: none; }
  a:hover, a:focus {
    color: #1a171b; }

/*------------------------------------*\
    6. LISTS
\*------------------------------------*/
ol, ul {
  list-style-type: none;
  margin: 0;
  padding: 0; }

article .text ul {
  padding: 0.5rem 0.25rem;
  line-height: 1.4;
  list-style-type: circle; }
  @media only screen and (min-width: 480px) {
    article .text ul {
      padding: 0.5rem 1.25rem; } }
  @media only screen and (min-width: 1390px) {
    article .text ul {
      padding: 0.5rem 0 0.95rem 3rem; } }
  article .text ul li {
    margin-left: 1rem;
    padding: 0.3rem 0;
    padding-left: 0.5rem;
    padding-left: 0.5rem;
    position: relative; }

article .text ol {
  list-style-type: decimal;
  line-height: 1.4;
  padding: 0.5rem 0.5rem; }
  @media only screen and (min-width: 480px) {
    article .text ol {
      padding: 0.5rem 1.25rem; } }
  @media only screen and (min-width: 1390px) {
    article .text ol {
      padding: 0.5rem 0 0 3rem; } }
  article .text ol li {
    margin-left: 1rem;
    padding: 0.3rem 0;
    padding-left: 0.5rem; }

/*------------------------------------*\
    7. BLOCKQUOTE
\*------------------------------------*/
blockquote {
  background-color: #eef0f3;
  border-left: 0.35rem solid #899aab;
  font-style: italic;
  margin: 0.75rem 0;
  padding: 0.65rem 2rem; }

/*------------------------------------*\
    8. ICONS
\*------------------------------------*/
.more-information {
  display: inline-block;
  font-size: 1rem;
  padding-bottom: 0.5rem;
  padding-left: 0.25rem;
  position: absolute; }
  .more-information:hover {
    cursor: pointer; }

/*------------------------------------*\
    9. CLOSE INFO BTN
\*------------------------------------*/
.close-info-btn {
  position: absolute;
  top: 0.45rem;
  right: 0.45rem; }
  .close-info-btn .close {
    cursor: pointer;
    position: relative;
    display: inline-block;
    width: 25px;
    height: 25px;
    overflow: hidden; }
    .close-info-btn .close:hover::before, .close-info-btn .close:hover::after {
      background: black; }
    .close-info-btn .close::before, .close-info-btn .close::after {
      content: '';
      position: absolute;
      height: 2px;
      width: 100%;
      top: 50%;
      left: 0;
      margin-top: -1px;
      background: #000; }
    .close-info-btn .close::before {
      -webkit-transform: rotate(45deg);
          -ms-transform: rotate(45deg);
              transform: rotate(45deg); }
    .close-info-btn .close::after {
      -webkit-transform: rotate(-45deg);
          -ms-transform: rotate(-45deg);
              transform: rotate(-45deg); }
    .close-info-btn .close.black::before, .close-info-btn .close.black::after {
      height: 4px;
      margin-top: -4px; }
    .close-info-btn .close.rounded::before, .close-info-btn .close.rounded::after {
      border-radius: 3px; }

/*------------------------------------*\
    10. OPEN IMAGE FULL VIEW
\*------------------------------------*/
.open-image-full-view {
  background: #8596a8;
  border-radius: 50%;
  cursor: pointer;
  height: 2.15rem;
  width: 2.25rem;
  position: absolute;
  right: -0.65rem;
  bottom: -0.65rem;
  -webkit-transition: all 0.15s linear;
  transition: all 0.15s linear; }
  @media only screen and (min-width: 1280px) {
    .open-image-full-view {
      height: 1.75rem;
      width: 1.75rem;
      position: absolute;
      right: -0.45rem;
      bottom: -0.45rem; } }
  .open-image-full-view:hover, .open-image-full-view:focus {
    background: #687d91; }
  .open-image-full-view i {
    color: white;
    font-size: 1.2rem;
    padding-top: 0.35rem;
    padding-left: 0.5rem; }
    @media only screen and (min-width: 1280px) {
      .open-image-full-view i {
        font-size: 0.95rem;
        padding-top: 0.3rem;
        padding-left: 0.4rem; } }

.thumb.single .open-image-full-view {
  display: none; }
  @media only screen and (min-width: 768px) {
    .thumb.single .open-image-full-view {
      display: block; } }

/*------------------------------------*\
    1. IMAGES & FIGURE
\*------------------------------------*/
img {
  max-width: 100%;
  height: auto; }

article img {
  padding: 1rem 0; }
  article img.nobottom-padding {
    padding-bottom: 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 {
  line-height: normal;
  max-width: 100%; }

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: #eef0f3;
  border: 1px solid #d0d6de;
  border-radius: 0;
  box-shadow: none;
  color: #1a171b;
  display: block;
  font-size: 1rem;
  font-family: "Open Sans", sans-serif;
  margin-bottom: 0.75rem;
  padding: 0.55rem 0.75rem 0.5rem;
  text-align: left;
  -webkit-transition: all 0.55s ease;
  transition: all 0.55s ease;
  width: 100%;
  -webkit-appearance: none; }
  input[type="text"].icon-input,
  input[type="email"].icon-input,
  input[type="url"].icon-input,
  input[type="password"].icon-input,
  input[type="search"].icon-input,
  input[type="tel"].icon-input,
  input[type="number"].icon-input,
  input[type="file"].icon-input,
  textarea.icon-input {
    padding-right: 2.75rem; }
  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 #c0c9d2; }
  @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: 0.85rem;
  display: block;
  padding-bottom: 0.5rem; }
  @media only screen and (min-width: 640px) {
    label {
      font-size: 1rem; } }

select {
  border: none;
  box-shadow: none;
  display: block;
  padding: 1rem 0.725rem;
  -webkit-transition: all 0.55s ease;
  transition: all 0.55s ease;
  width: 100%; }

textarea {
  font-family: #1a171b; }

.submit-wrapper:after {
  content: "";
  display: table;
  clear: both; }

input[type="submit"] {
  border: 1px solid #c0c9d2;
  background-color: #c0c9d2;
  color: #1a171b;
  cursor: pointer;
  display: inline-block;
  font-size: 1rem;
  line-height: 1;
  margin-top: 1rem;
  padding: 0.75rem 0.75rem 0.675rem;
  -webkit-transition: all 0.55s ease;
  transition: all 0.55s ease;
  width: auto;
  width: 100%;
  -webkit-appearance: none; }
  input[type="submit"]:hover, input[type="submit"]:focus {
    background-color: #c0c9d2;
    border: 1px solid #c0c9d2; }
  @media only screen and (min-width: 768px) {
    input[type="submit"] {
      float: right;
      width: auto; } }
  input[type="submit"].icon {
    font-family: FontAwesome;
    font-size: 1.5rem;
    font-weight: 100;
    text-align: center;
    height: 2.75rem;
    width: 2.75rem;
    margin: 0;
    padding: 0.55rem 0;
    position: absolute;
    top: 0;
    right: 0; }

.ajax-loader {
  display: none !important; }

/* CONTACT FORM 7 MESSAGES & ITEMS */
span.wpcf7-list-item {
  margin-left: 0; }

span.wpcf7-not-valid-tip {
  font-size: 0.85rem;
  margin: -0.25rem 0 1.25rem; }

/*------------------------------------*\
    1. BASIC TABLE
\*------------------------------------*/
.table-wrapper {
  margin: 2rem 0;
  overflow-x: auto; }

table {
  background-color: #eef0f3;
  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: #c0c9d2;
    font-weight: bold; }
  table td, table th {
    padding: 0.35rem    0.475rem; }
  table tfoot {
    border-top: 1px dotted #1a171b;
    border-bottom: 3px solid #1a171b; }

table.striped tbody tr:nth-child(odd) {
  background-color: #e4e7ec; }

/*------------------------------------*\
    3. MODULES
\*------------------------------------*/
/*------------------------------------*\
    1. HEADER
\*------------------------------------*/
#main-header {
  background-color: #c0c9d2;
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto; }

/* NAVBAR */
#navbar {
  background-color: #c0c9d2;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  max-width: 1320px;
  margin: 0 auto;
  position: fixed;
  width: 100%;
  z-index: 6001; }
  @media only screen and (min-width: 1024px) {
    #navbar {
      position: relative; } }
  .mobile-nav-opened #navbar {
    position: absolute; }

/* LOGO */
#logo {
  background-color: white;
  box-shadow: 5px 0px 5px 0px rgba(0, 0, 0, 0.2);
  display: inline-block;
  line-height: 0;
  margin: 0.65rem 0;
  padding: 0.5rem; }
  #logo a {
    display: inline-block;
    line-height: 1; }
  #logo img {
    width: 10rem; }

/* MAIN NAVIGATION */
#main-navigation {
  display: none;
  margin-left: auto; }
  @media only screen and (min-width: 1024px) {
    #main-navigation {
      display: block; } }
  #main-navigation a {
    color: white; }
  #main-navigation li:not(.unclickable-menu-item) a:hover, #main-navigation li:not(.unclickable-menu-item) a:focus {
    opacity: 0.775; }
  #main-navigation .menu-hautpmenue-container {
    height: 100%; }
  #main-navigation #menu-hautpmenue {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    height: 100%; }
    #main-navigation #menu-hautpmenue > li {
      border-right: 1px solid white;
      text-transform: uppercase;
      letter-spacing: 2px; }
      #main-navigation #menu-hautpmenue > li:last-child {
        border-right: 0; }
      #main-navigation #menu-hautpmenue > li.current-page-ancestor, #main-navigation #menu-hautpmenue > li.current-menu-item {
        background: #eef0f3; }
        #main-navigation #menu-hautpmenue > li.current-page-ancestor > a, #main-navigation #menu-hautpmenue > li.current-menu-item > a {
          color: #a2b0bd; }
      #main-navigation #menu-hautpmenue > li > a {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        height: 4.75rem;
        padding: 0 1rem;
        -webkit-box-align: center;
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center; }
  #main-navigation ul ul {
    display: none; }
    #main-navigation ul ul.hover-sub {
      display: block;
      min-width: 13.5rem;
      padding: 1rem 0.65rem 0.55rem;
      position: absolute;
      z-index: 4001; }

/* NAVIGATION */
header #main-navigation ul.sub-menu {
  background-color: transparent;
  display: none;
  font-size: 0.85rem;
  min-width: 13.5rem;
  padding: 0.15rem 0.65rem;
  position: absolute;
  z-index: 4001; }
  header #main-navigation ul.sub-menu li {
    background-color: white;
    box-shadow: 0px 0px 2px 0px rgba(0, 0, 0, 0.15);
    line-height: 1;
    margin-bottom: 0.15rem;
    padding: 0.75rem 0.85rem; }
  header #main-navigation ul.sub-menu a {
    color: #1a171b; }
    header #main-navigation ul.sub-menu a:hover, header #main-navigation ul.sub-menu a:focus {
      font-weight: 500; }
header #main-navigation ul.sub-menu.hover-sub {
  display: block; }

/* SPACER */
header .spacer {
  background-color: #eef0f3;
  display: none;
  height: 1.75rem;
  width: 100%; }
  @media only screen and (min-width: 1024px) {
    header .spacer {
      display: block; } }

/*------------------------------------*\
    1. FOOTER
\*------------------------------------*/
footer {
  background-color: #c0c9d2;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  font-size: 0.775rem;
  margin-top: 1rem;
  padding: 1rem; }
  @media only screen and (min-width: 480px) {
    footer {
      font-size: 0.85rem; } }
  @media only screen and (min-width: 640px) {
    footer {
      font-size: 0.925rem;
      margin-top: 2.5rem; } }
  @media only screen and (min-width: 768px) {
    footer {
      padding: 1rem 1.75rem; } }
  footer a {
    color: #1a171b; }
    footer a:hover, footer a:focus {
      opacity: 0.65; }
  footer div:first-child ul {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
    footer div:first-child ul li {
      padding-right: 0.75rem; }
  footer div:last-child {
    margin-left: auto; }
    footer div:last-child p {
      padding: 0; }

/*------------------------------------*\
    1. ORDER-STEPS
\*------------------------------------*/
#order-steps {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin: 2rem 0 0.95rem; }
  #order-steps li {
    color: #c0c9d2;
    padding: 0;
    width: 100%; }
    @media only screen and (min-width: 640px) {
      #order-steps li {
        border-right: 1px solid #c0c9d2;
        padding: 0 1rem;
        width: auto; } }
    #order-steps li.active {
      color: #1a171b; }
    #order-steps li:first-child {
      padding-left: 0; }
    #order-steps li:last-child {
      border-right: 0; }

/*------------------------------------*\
    1. COLLECTION
\*------------------------------------*/
/* COLLECTIN */
.collection {
  padding: 0 1rem;
  margin: 0 auto; }
  @media only screen and (min-width: 768px) {
    .collection {
      padding: 0 1.75rem; } }
  .collection ul.products {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    margin: 0 -0.65rem; }
    .collection ul.products > li {
      padding: 0.65rem 0.65rem;
      position: relative;
      width: 49.5%; }
      @media only screen and (min-width: 640px) {
        .collection ul.products > li {
          width: 33.15%; } }
      @media only screen and (min-width: 768px) {
        .collection ul.products > li {
          width: 24.9%; } }
      .collection ul.products > li a {
        display: inline-block;
        line-height: 0; }
      .collection ul.products > li img {
        width: 100%; }
    .collection ul.products .variations li:not(:first-child) {
      display: none; }

/*------------------------------------*\
    1. MOBILE NAVIGATION
\*------------------------------------*/
#mobile-navigation {
  width: 0;
  height: 0;
  overflow: hidden;
  -webkit-transition: width 0.5s;
  transition: width 0.5s; }
  #mobile-navigation.opened {
    padding: 2rem 1.25rem;
    height: 100vh;
    width: 0;
    position: fixed;
    z-index: 6001;
    top: 0;
    left: 0;
    background-color: #c0c9d2;
    overflow-x: hidden;
    -webkit-transition: width 0.5s;
    transition: width 0.5s;
    width: 250px; }
  #mobile-navigation a {
    color: white;
    font-size: 1.25rem;
    display: inline-block;
    padding-bottom: 0.65rem;
    text-transform: uppercase; }

/* OPEN NAVIGATION BUTTON */
#mobile-button {
  margin-left: auto;
  margin-right: 1rem; }
  @media only screen and (min-width: 1024px) {
    #mobile-button {
      display: none; } }
  #mobile-nav-opened #mobile-button {
    opacity: 0; }

/* CLOSE NAVIGATION BUTTON */
#close-nav-button {
  z-index: 6001; }
  #close-nav-button .nav-icon {
    margin: 0 0 1.85rem; }

/* HAMBURGER ICON */
.nav-icon {
  margin: 22px 0;
  width: 40px;
  height: 32px;
  position: relative;
  -webkit-transform: rotate(0deg);
      -ms-transform: rotate(0deg);
          transform: rotate(0deg);
  -webkit-transition: .5s ease-in-out;
  transition: .5s ease-in-out;
  cursor: pointer; }

.nav-icon span {
  display: block;
  position: absolute;
  height: 6px;
  width: 100%;
  background: white;
  border-radius: 6px;
  opacity: 1;
  left: 0;
  -webkit-transform: rotate(0deg);
      -ms-transform: rotate(0deg);
          transform: rotate(0deg);
  -webkit-transition: .25s ease-in-out;
  transition: .25s ease-in-out; }

.nav-icon span:nth-child(1) {
  top: 0px; }

.nav-icon span:nth-child(2) {
  top: 12px; }

.nav-icon span:nth-child(3) {
  top: 24px; }

.nav-icon.open span:nth-child(1) {
  top: 18px;
  -webkit-transform: rotate(135deg);
      -ms-transform: rotate(135deg);
          transform: rotate(135deg); }

.nav-icon.open span:nth-child(2) {
  opacity: 0;
  left: -60px; }

.nav-icon.open span:nth-child(3) {
  top: 18px;
  -webkit-transform: rotate(-135deg);
      -ms-transform: rotate(-135deg);
          transform: rotate(-135deg); }

/*------------------------------------*\
    1. LIGHTBOX
\*------------------------------------*/
.lightbox {
  background-color: rgba(255, 255, 255, 0.75);
  cursor: pointer;
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 6001; }
  .lightbox.opened {
    display: block; }
  .lightbox > div {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    width: 95%; }
    @media only screen and (min-width: 768px) {
      .lightbox > div {
        width: auto; } }

/*------------------------------------*\
    4. VIEWS
\*------------------------------------*/
/*------------------------------------*\
    1. FRONTPAGE
\*------------------------------------*/
.home #inner-wrapper {
  padding-top: 0; }

/* SLIDER */
#home-slider {
  background-color: #eef0f3; }

#hero-slider {
  line-height: 0;
  max-width: 1320px;
  margin: 0 auto;
  padding-top: 4.75rem;
  position: relative; }
  @media only screen and (min-width: 1024px) {
    #hero-slider {
      padding-top: 0; } }
  #hero-slider .slides:after {
    content: "";
    display: table;
    clear: both; }

#slider-info {
  border-width: 1px;
  border-style: solid;
  font-size: 0.65rem;
  line-height: 1.4;
  padding: 0.675rem;
  position: absolute;
  bottom: 0.85rem;
  right: 0.7rem;
  max-width: 75%;
  z-index: 5001; }
  #slider-info > *:first-child {
    padding-top: 0; }
  #slider-info > *:last-child {
    padding-bottom: 0; }
  @media only screen and (min-width: 480px) {
    #slider-info {
      font-size: 0.875rem;
      padding: 0.75rem;
      position: absolute;
      bottom: 1.15rem;
      right: 1rem; } }
  @media only screen and (min-width: 640px) {
    #slider-info {
      font-size: 1rem; } }
  @media only screen and (min-width: 1024px) {
    #slider-info {
      font-size: 0.95rem;
      padding: 1.25rem; } }

/* INTRO */
.home .intro {
  padding: 1.25rem 2.5rem;
  text-align: center; }
  @media only screen and (min-width: 768px) {
    .home .intro {
      padding: 2.25rem 2.5rem; } }
  @media only screen and (min-width: 1024px) {
    .home .intro {
      padding: 3rem 2.5rem; } }
  .home .intro h1 {
    font-size: 1.25rem;
    font-weight: normal;
    line-height: 1.4;
    text-transform: none; }
    @media only screen and (min-width: 480px) {
      .home .intro h1 {
        font-size: 1.5rem; } }
    @media only screen and (min-width: 768px) {
      .home .intro h1 {
        font-size: 1.75rem; } }
    .home .intro h1 strong {
      font-size: 1.45rem;
      font-weight: 700; }
      @media only screen and (min-width: 480px) {
        .home .intro h1 strong {
          font-size: 2.05rem; } }
      @media only screen and (min-width: 768px) {
        .home .intro h1 strong {
          font-size: 2.675rem; } }

/* LINKS */
.home .links .link {
  display: block;
  font-size: 0.9rem;
  margin: 1rem 0; }
  @media only screen and (min-width: 480px) {
    .home .links .link {
      font-size: 1rem; } }
  .home .links .link a {
    background-color: #eef0f3;
    color: #1a171b;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    padding: 0.75rem; }
    @media only screen and (min-width: 480px) {
      .home .links .link a {
        padding: 1rem; } }
    @media only screen and (min-width: 640px) {
      .home .links .link a {
        padding: 1.25rem; } }
    .home .links .link a:hover {
      background-color: #c0c9d2; }
    .home .links .link a .icon {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-align-content: center;
          -ms-flex-line-pack: center;
              align-content: center;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      padding-right: 0.75rem;
      position: relative;
      width: 12.5%; }
      @media only screen and (min-width: 480px) {
        .home .links .link a .icon {
          width: 7.5%; } }
      .home .links .link a .icon i {
        color: white;
        font-size: 2.35rem; }
        @media only screen and (min-width: 480px) {
          .home .links .link a .icon i {
            font-size: 3rem; } }
        @media only screen and (min-width: 640px) {
          .home .links .link a .icon i {
            font-size: 4rem; } }
    .home .links .link a p {
      display: inline-block;
      width: 87.5%; }
      @media only screen and (min-width: 640px) {
        .home .links .link a p {
          width: 92.5%; } }

/* COLLECTION */
.home .collection {
  margin-top: 4.15rem; }

/*------------------------------------*\
    1. SINGLE
\*------------------------------------*/
.single-default article {
  padding: 0 1rem; }
  @media only screen and (min-width: 768px) {
    .single-default article {
      padding: 0 1.75rem; } }

/* CONTENT-MODULES */
.text-row {
  margin: 1rem 0; }
  .text-row.row-2 {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    margin: 0 -1rem; }
    .text-row.row-2 > div {
      padding: 1rem;
      width: 100%; }
      @media only screen and (min-width: 768px) {
        .text-row.row-2 > div {
          width: 50%; } }

/* MODULE STYLES */
.style-snow.row-1 {
  background-color: transparent; }

.style-sky.row-1 {
  background-color: #eef0f3;
  padding: 1rem; }
.style-sky.row-2 {
  margin: 0; }
  .style-sky.row-2 div {
    background-color: #eef0f3;
    padding: 1rem; }

.style-sea.row-1 {
  background-color: #c0c9d2;
  padding: 1rem; }
.style-sea.row-2 {
  margin: 0; }
  .style-sea.row-2 div {
    background-color: #c0c9d2;
    padding: 1rem; }

.style-custom.row-1 {
  padding: 1rem; }
.style-custom.row-2 {
  margin: 0; }
  .style-custom.row-2 div {
    padding: 1rem; }

/*------------------------------------*\
    1. SINGLE-PRODUCT
\*------------------------------------*/
/* QUALITY & CUSTOM TEXT */
#quality {
  position: relative; }
  #quality .tmcp-field-wrap {
    padding-top: 0; }
  #quality .tm-extra-product-options-container,
  #quality .tm-extra-product-options-container ul,
  #quality .tm-extra-product-options-container li {
    float: none !important; }

#quality-information {
  background-color: #eef0f3;
  box-shadow: 0px 0px 4px 0px rgba(22, 22, 22, 0.1);
  display: none;
  font-size: 0.8rem;
  margin-top: 1rem;
  padding: 1rem;
  position: relative;
  z-index: 5001; }
  @media only screen and (min-width: 1024px) {
    #quality-information {
      position: absolute;
      left: 8.75rem;
      top: 0;
      margin-top: 0; } }
  #quality-information.opened {
    display: block; }
  #quality-information .inner {
    position: relative; }

#custom-text {
  margin-bottom: 0; }
  #custom-text label {
    padding: 0;
    width: 100%; }
  #custom-text input {
    width: 100%; }
    @media only screen and (min-width: 480px) {
      #custom-text input {
        width: 22.5rem; } }

/* TEXT-IDEAS */
.text-ideas {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-bottom: 1rem; }
  @media only screen and (min-width: 768px) {
    .text-ideas {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row; } }
  .text-ideas div {
    width: 100%; }
    @media only screen and (min-width: 480px) {
      .text-ideas div {
        width: 22.5rem; } }
    .text-ideas div > *:first-child {
      padding-top: 0; }
  .text-ideas div:first-child {
    background: #eef0f3;
    padding: 0.55rem 0.5rem; }
  .text-ideas div:last-child {
    padding: 0.85rem 0; }
    @media only screen and (min-width: 640px) {
      .text-ideas div:last-child {
        padding: 1rem 0; } }
    @media only screen and (min-width: 768px) {
      .text-ideas div:last-child {
        padding: 0.55rem 0.5rem 0.55rem 2rem; } }
  .text-ideas ul {
    list-style-type: disc;
    margin-left: 1.25rem; }

/* DESCRIPTION */
.desc {
  width: 100%; }
  @media only screen and (min-width: 640px) {
    .desc {
      width: 66.66%; } }

/* BUTTON */
.add-to-cart-wrapper {
  margin-top: 2.65rem;
  text-align: center; }

#outer-wrapper main article .button {
  background-color: #c0c9d2;
  background-image: url("../img/button-icon.png");
  background-size: 2.05rem auto;
  background-repeat: no-repeat;
  background-position: right 1rem center;
  border-radius: 0 !important;
  border: 0;
  color: #1a171b;
  display: inline-block;
  font-weight: normal;
  float: none;
  margin: 0 auto;
  padding: 0.85rem 1.5rem;
  text-align: left;
  width: 100%; }
  @media only screen and (min-width: 480px) {
    #outer-wrapper main article .button {
      width: 12.75rem; } }
  #outer-wrapper main article .button#place_order {
    margin-top: 2.25rem; }
    @media only screen and (min-width: 480px) {
      #outer-wrapper main article .button#place_order {
        width: 17.5rem; } }

/*------------------------------------*\
    SIMPLE PRODUCTS
\*------------------------------------*/
.woocommerce .entry-summary .thumb {
  display: inline-block;
  line-height: 0;
  position: relative;
  width: 100%;
  width: 100%;
  max-width: 300px; }
  @media only screen and (min-width: 768px) {
    .woocommerce .entry-summary .thumb {
      width: 25%; } }
  .woocommerce .entry-summary .thumb .attachment-post-thumbnail {
    padding: 0; }

/*------------------------------------*\
    VARIABLE PRODUCTS
\*------------------------------------*/
.product-variation-images {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin: 0 -0.65rem; }
  .product-variation-images li {
    cursor: pointer;
    margin: 0;
    padding: 0.65rem;
    position: relative;
    width: 33.3333%; }
    @media only screen and (min-width: 640px) {
      .product-variation-images li {
        width: 25%; } }
    .product-variation-images li:before {
      content: none; }
    .product-variation-images li .thumb {
      width: 100% !important; }
      .product-variation-images li .thumb img {
        padding: 0; }
  .product-variation-images.option-selected li:not(.selected) {
    opacity: 0.25; }

/* COLOR SELECTION (VARIABLE PRODUCTS */
.variations_form .table-wrapper {
  margin: 0; }
.variations_form .variations {
  display: none; }

/*------------------------------------*\
    1. CHECKOUT
\*------------------------------------*/
.checkout {
  margin-top: 1.25rem; }
  .checkout .order-information-text {
    margin-bottom: 2.25rem; }

/* ADRESSE */
#customer_details {
  border-bottom: 1px solid #1a171b;
  margin-bottom: 3rem;
  padding-bottom: 2.5rem; }

#customer_details #order_comments {
  height: 8rem; }
@media only screen and (max-width: 620px) {
  #customer_details .woocommerce-billing-fields p {
    width: 100%; } }
#customer_details .woocommerce-billing-fields .required {
  display: none; }

/* BESTELLUNG REVIEW */
#checkout-order-summary {
  border-bottom: 1px solid #1a171b;
  margin-bottom: 1rem;
  padding-bottom: 2.5rem; }

#order_review h2 {
  padding-top: 0; }
#order_review .tm-cart-edit-options {
  display: none; }
#order_review .woocommerce-checkout-review-order-table {
  border-bottom: 1px solid #1a171b;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin-bottom: 1.5rem;
  padding-bottom: 2.5rem; }
  @media only screen and (min-width: 640px) {
    #order_review .woocommerce-checkout-review-order-table {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap; } }
  #order_review .woocommerce-checkout-review-order-table > div {
    width: 100%; }
    @media only screen and (min-width: 640px) {
      #order_review .woocommerce-checkout-review-order-table > div:first-child {
        width: 55%; } }
    #order_review .woocommerce-checkout-review-order-table > div:last-child {
      margin-top: 2rem;
      width: 100%; }
      @media only screen and (min-width: 640px) {
        #order_review .woocommerce-checkout-review-order-table > div:last-child {
          margin-left: auto;
          margin-top: 0;
          padding-left: 1.25rem;
          width: 28.5%; } }
      #order_review .woocommerce-checkout-review-order-table > div:last-child img {
        max-width: 320px;
        width: 100%; }
#order_review .variation {
  margin: 0;
  padding-top: 0.25rem; }
  @media only screen and (min-width: 768px) {
    #order_review .variation {
      padding-top: 1rem; } }
  #order_review .variation dd, #order_review .variation dt {
    display: inline; }
    #order_review .variation dd p, #order_review .variation dt p {
      display: inline-block;
      padding: 0.25rem; }
      @media only screen and (min-width: 768px) {
        #order_review .variation dd p, #order_review .variation dt p {
          padding: 1rem 0; } }
  #order_review .variation dd {
    margin-left: 0; }
    #order_review .variation dd:after {
      content: "";
      display: table;
      clear: both; }
#order_review .size,
#order_review .weight,
#order_review .product-total {
  padding: 0.25rem 0; }
  @media only screen and (min-width: 768px) {
    #order_review .size,
    #order_review .weight,
    #order_review .product-total {
      padding: 1rem 0; } }
#order_review .image img {
  padding: 0; }
#order_review .image span {
  font-size: 0.925rem; }

/* TERMS */
.checkout .terms {
  padding-top: 0.75rem !important; }

/* SUBMIT */
.checkout .place-order {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  @media only screen and (min-width: 640px) {
    .checkout .place-order {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap; } }
  .checkout .place-order > div:first-child {
    width: 100%; }
    @media only screen and (min-width: 640px) {
      .checkout .place-order > div:first-child {
        width: 65%; } }
  .checkout .place-order > div:last-child {
    margin-bottom: 1.25rem;
    -webkit-box-ordinal-group: 0;
    -webkit-order: -1;
        -ms-flex-order: -1;
            order: -1;
    width: 100%; }
    @media only screen and (min-width: 640px) {
      .checkout .place-order > div:last-child {
        margin-left: auto;
        margin-bottom: 0;
        padding-left: 2.5rem;
        -webkit-box-ordinal-group: 3;
        -webkit-order: 2;
            -ms-flex-order: 2;
                order: 2;
        width: auto; } }
  .checkout .place-order input[type="submit"] {
    float: none;
    margin-top: 1.5rem; }

/*------------------------------------*\
    1. SINGLE
\*------------------------------------*/
.gallery-grid {
  margin: 1.5rem -0.3rem 0; }
  .gallery-grid .item {
    line-height: 0;
    padding: 0.3rem; }
    .gallery-grid .item a {
      background-size: cover;
      background-position: center center;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      width: 100%;
      height: 100%; }
  .gallery-grid .grid-sizer {
    width: 100%; }
    @media only screen and (min-width: 480px) {
      .gallery-grid .grid-sizer {
        width: 25%; } }
  .gallery-grid .width-25 {
    width: 100%; }
    @media only screen and (min-width: 480px) {
      .gallery-grid .width-25 {
        width: 50%; } }
    @media only screen and (min-width: 640px) {
      .gallery-grid .width-25 {
        width: 25%; } }
  .gallery-grid .width-50 {
    width: 100%; }
    @media only screen and (min-width: 480px) {
      .gallery-grid .width-50 {
        width: 50%; } }
  .gallery-grid .height-1.width-25 {
    height: 25rem; }
    @media only screen and (min-width: 640px) {
      .gallery-grid .height-1.width-25 {
        height: 20rem; } }
  .gallery-grid .height-1.width-50 {
    height: 12.5rem; }
    @media only screen and (min-width: 640px) {
      .gallery-grid .height-1.width-50 {
        height: 20rem; } }
  .gallery-grid .height-2 {
    height: 25rem; }
    @media only screen and (min-width: 640px) {
      .gallery-grid .height-2 {
        height: 40rem; } }

/* POPUP-GALLERY */
.item-popup {
  background-color: rgba(192, 201, 210, 0.65);
  padding: 1rem;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1; }
  .item-popup.selected {
    z-index: 6001; }
  .item-popup .inner-wrapper {
    background-color: white;
    box-shadow: 0px 0px 4px 0px rgba(22, 22, 22, 0.1);
    padding: 1rem 1rem 0;
    height: 100%;
    overflow: scroll; }
    @media only screen and (min-width: 640px) {
      .item-popup .inner-wrapper {
        padding: 1.35rem; } }
    @media only screen and (min-width: 768px) {
      .item-popup .inner-wrapper {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
                flex-wrap: wrap;
        padding: 1.5rem 1rem;
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
            -ms-transform: translate(-50%, -50%);
                transform: translate(-50%, -50%);
        height: auto;
        overflow: hidden;
        max-width: 600px; } }
    .item-popup .inner-wrapper .desc {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 auto;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto;
      line-height: 1.4;
      width: 100%;
      z-index: 6001; }
      .item-popup .inner-wrapper .desc a {
        display: inline; }
    .item-popup .inner-wrapper .gallery {
      background-color: #eef0f3;
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 auto;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto;
      text-align: center;
      position: relative;
      width: 100%; }
      .item-popup .inner-wrapper .gallery.loading {
        opacity: 0; }
      .item-popup .inner-wrapper .gallery li {
        margin-bottom: 1rem; }
        @media only screen and (min-width: 768px) {
          .item-popup .inner-wrapper .gallery li {
            margin-bottom: 0; } }
      .item-popup .inner-wrapper .gallery img {
        margin: 0 auto;
        padding: 0; }
      .item-popup .inner-wrapper .gallery .flex-control-nav {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        position: absolute;
        bottom: 0.45rem;
        left: 50%;
        -webkit-transform: translate(-50%, 0);
            -ms-transform: translate(-50%, 0);
                transform: translate(-50%, 0);
        text-align: center;
        z-index: 6001; }
        .item-popup .inner-wrapper .gallery .flex-control-nav li a {
          background-color: white;
          border-radius: 50%;
          height: 1.25rem;
          width: 1.25rem;
          margin: 0.5rem;
          text-indent: -99999px; }
          .item-popup .inner-wrapper .gallery .flex-control-nav li a.flex-active {
            background-color: #c0c9d2;
            border: 1px solid #c0c9d2; }
      .item-popup .inner-wrapper .gallery .flex-direction-nav {
        position: relative;
        width: 100%;
        height: 100%;
        z-index: 6001; }
        .item-popup .inner-wrapper .gallery .flex-direction-nav a {
          background-color: #c0c9d2;
          border-radius: 50%;
          text-align: center;
          width: 2.35rem;
          height: 2.35rem; }
          @media only screen and (min-width: 640px) {
            .item-popup .inner-wrapper .gallery .flex-direction-nav a {
              width: 3.25rem;
              height: 3.25rem; } }
        .item-popup .inner-wrapper .gallery .flex-direction-nav i {
          color: white;
          font-size: 1.5rem;
          line-height: 2.35rem;
          margin: 0 auto; }
          @media only screen and (min-width: 640px) {
            .item-popup .inner-wrapper .gallery .flex-direction-nav i {
              font-size: 2.15rem;
              line-height: 3.25rem; } }
        .item-popup .inner-wrapper .gallery .flex-direction-nav .flex-nav-prev {
          font-size: 1.25rem;
          position: absolute;
          top: 50%;
          right: 1rem;
          -webkit-transform: translateY(-50%);
              -ms-transform: translateY(-50%);
                  transform: translateY(-50%); }
          .item-popup .inner-wrapper .gallery .flex-direction-nav .flex-nav-prev i {
            padding-left: 0.3rem; }
        .item-popup .inner-wrapper .gallery .flex-direction-nav .flex-nav-next {
          font-size: 1.25rem;
          position: absolute;
          top: 50%;
          left: 1rem;
          -webkit-transform: translateY(-50%);
              -ms-transform: translateY(-50%);
                  transform: translateY(-50%); }
          .item-popup .inner-wrapper .gallery .flex-direction-nav .flex-nav-next i {
            padding-right: 0.3rem; }
        .item-popup .inner-wrapper .gallery .flex-direction-nav .flex-disabled {
          display: none !important; }

@media only screen and (min-width: 768px) {
  .item-popup .close-info-btn {
    display: none; } }
.item-popup .close-info-btn > div {
  background-color: #8596a8;
  border: 2px solid #8596a8;
  border-radius: 50%;
  margin: 0 auto;
  padding: 0.5rem;
  position: relative;
  height: 3.25rem;
  width: 3.25rem;
  z-index: 6001; }
.item-popup .close-info-btn .close {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  margin-top: 2px;
  width: 30px;
  height: 30px; }
  .item-popup .close-info-btn .close::before, .item-popup .close-info-btn .close::after {
    background: white; }

/*------------------------------------*\
    1. INDIVIDUAL ORDER
\*------------------------------------*/
.page-template-page-individual-order #image-idea input {
  font-size: 0.75rem; }
  @media only screen and (min-width: 640px) {
    .page-template-page-individual-order #image-idea input {
      font-size: 0.925rem; } }
.page-template-page-individual-order #image-idea input,
.page-template-page-individual-order #baby-name input {
  width: 100%; }
  @media only screen and (min-width: 480px) {
    .page-template-page-individual-order #image-idea input,
    .page-template-page-individual-order #baby-name input {
      width: 22.5rem; } }
.page-template-page-individual-order #quality .wpcf7-form-control-wrap {
  margin-left: 0; }
.page-template-page-individual-order #quality .wpcf7-list-item {
  display: block;
  margin: 0;
  padding: 0.15rem 0; }
.page-template-page-individual-order #agb {
  margin: 1.5rem 0; }
.page-template-page-individual-order .form-wrapper {
  margin-top: 2rem; }
  .page-template-page-individual-order .form-wrapper .inner {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .page-template-page-individual-order .form-wrapper .inner > div {
      width: 100%; }
      @media only screen and (min-width: 640px) {
        .page-template-page-individual-order .form-wrapper .inner > div {
          width: 48%; } }
      .page-template-page-individual-order .form-wrapper .inner > div:last-child {
        margin-left: auto; }
  .page-template-page-individual-order .form-wrapper .submit-wrapper {
    margin-top: 1rem;
    position: relative;
    text-align: center; }
    @media only screen and (min-width: 640px) {
      .page-template-page-individual-order .form-wrapper .submit-wrapper {
        margin-top: 2rem; } }
    .page-template-page-individual-order .form-wrapper .submit-wrapper input[type="submit"] {
      background-image: url("../img/button-icon.png");
      background-size: 2.05rem auto;
      background-repeat: no-repeat;
      background-position: right 1rem center;
      font-size: 1.05rem;
      float: none;
      margin-left: auto;
      text-align: left;
      width: 100%; }
      @media only screen and (min-width: 480px) {
        .page-template-page-individual-order .form-wrapper .submit-wrapper input[type="submit"] {
          width: 15rem; } }
.page-template-page-individual-order .wpcf7-mail-sent-ok {
  display: none !important; }

/*------------------------------------*\
    1. SINGLE
\*------------------------------------*/
#contact-form {
  padding: 0.5rem 0; }
  @media only screen and (min-width: 768px) {
    #contact-form {
      width: 66.667%; } }
  #contact-form .submit {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
    #contact-form .submit input[type="submit"] {
      background-color: #c0c9d2;
      background-image: url("../img/button-icon.png");
      background-size: 2.05rem auto;
      background-repeat: no-repeat;
      background-position: right 1rem center;
      border-radius: 0 !important;
      border: 0;
      color: #1a171b;
      display: inline-block;
      font-weight: normal;
      float: none;
      margin-left: auto;
      padding: 0.85rem 1.5rem;
      text-align: left;
      width: 100%; }
      @media only screen and (min-width: 480px) {
        #contact-form .submit input[type="submit"] {
          width: 12.75rem; } }
